private string FormatSimpleBindingValue (string value)
{
Match mBinding = ReBindingElementName.Match(value);
if (mBinding.Success) {
return string.IsNullOrEmpty(mBinding.Groups["Path"].Value)
? mBinding.Result("{Binding ElementName=${ElementName}$'")
: mBinding.Result("{Binding ${Path}, ElementName=${ElementName}$'");
}
mBinding = ReBindingSelf.Match(value);
if (mBinding.Success) {
return string.IsNullOrEmpty(mBinding.Groups["Path"].Value)
? mBinding.Result("{Binding RelativeSource={RelativeSource Self}$'")
: mBinding.Result("{Binding ${Path}, RelativeSource={RelativeSource Self}$'");
}
mBinding = ReBindingTemplatedParent.Match(value);
if (mBinding.Success) {
return string.IsNullOrEmpty(mBinding.Groups["Path"].Value)
? mBinding.Result("{Binding RelativeSource={RelativeSource TemplatedParent}$'")
: mBinding.Result("{Binding ${Path}, RelativeSource={RelativeSource TemplatedParent}$'");
}
mBinding = ReBindingAncestorType.Match(value);
if (mBinding.Success) {
return string.IsNullOrEmpty(mBinding.Groups["Path"].Value)
? mBinding.Result("{Binding RelativeSource={RelativeSource AncestorType=${AncestorType}}$'")
: mBinding.Result("{Binding ${Path}, RelativeSource={RelativeSource AncestorType=${AncestorType}}$'");
}
mBinding = ReBindingSource.Match(value);
if (mBinding.Success) {
return string.IsNullOrEmpty(mBinding.Groups["Path"].Value)
? mBinding.Result("{Binding Source=${Source}$'")
: mBinding.Result("{Binding ${Path}, Source=${Source}$'");
}
return null;
}