本文整理汇总了C#中System.Windows.Data.BindingBase.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# BindingBase.GetType方法的具体用法?C# BindingBase.GetType怎么用?C# BindingBase.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Data.BindingBase
的用法示例。
在下文中一共展示了BindingBase.GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CopyBinding
BindingBase CopyBinding(BindingBase target)
{
BindingBase b;
if (target != null) {
b = (BindingBase)Activator.CreateInstance(target.GetType());
} else {
b = new Binding();
}
foreach (PropertyDescriptor pd in TypeDescriptor.GetProperties(target)) {
if (pd.IsReadOnly) {
if (pd.Name.Equals("Bindings", StringComparison.Ordinal)) {
var bindings = (Collection<BindingBase>)pd.GetValue(target);
var newBindings = (Collection<BindingBase>)pd.GetValue(b);
foreach (var binding in bindings) {
newBindings.Add(CopyBinding(binding));
}
}
continue;
}
try {
var val1 = pd.GetValue(b);
var val2 = pd.GetValue(target);
if (object.Equals(val1, val2)) continue;
pd.SetValue(b, val2);
} catch {}
}
return b;
}