WPF:定义绑定&x27;违约
在WPF中,我希望能够模板化默认情况下如何应用绑定 例如,我想写:WPF:定义绑定&x27;违约,wpf,xaml,binding,templates,default,Wpf,Xaml,Binding,Templates,Default,在WPF中,我希望能够模板化默认情况下如何应用绑定 例如,我想写: Text="{Binding Path=PedigreeName}" 但这就好像我输入了: Text="{Binding Path=PedigreeName, Mode=TwoWay, UpdateSourceTrigger=LostFocus, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" 有什
Text="{Binding Path=PedigreeName}"
但这就好像我输入了:
Text="{Binding Path=PedigreeName, Mode=TwoWay, UpdateSourceTrigger=LostFocus, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}"
有什么想法吗
谢谢
- 帕特里克
public class Dog {
public static readonly DependencyProperty PedigreeNameProperty =
DependencyProperty.Register("PedigreeName", typeof(string), typeof(Dog),
new FrameworkPropertyMetadata() {
BindsTwoWayByDefault = true,
DefaultUpdateSourceTrigger = UpdateSourceTrigger.LostFocus
}
);
我没有立即找到一种方法来设置NotifyOnValidationError、ValidateSondaErrors或ValidatesOnExceptions的默认值,但我还没有充分使用它来确定要查找什么;它们可能在那里。除了Joe White的好答案之外,您还可以创建一个从绑定继承的类,并设置所需的默认属性值。例如:
public class TwoWayBinding : Binding
{
public TwoWayBinding()
{
Initialize();
}
public TwoWayBinding(string path)
: base(path)
{
Initialize();
}
private void Initialize()
{
this.Mode = BindingMode.TwoWay;
}
}
谢谢,好主意,但就我而言,狗类是一个商业模式项目。我不想为此项目添加对System.Windows的依赖项。我所寻找的解决方案就是朝着这个方向,就像把。。。在App.xaml中,但未找到任何匹配项。。。再次感谢!谢谢,我最终以这种方式实现了它。[code]公共类ValidationBinding:Binding{public ValidationBinding(){Initialize();}public ValidationBinding(字符串路径):base(路径){Initialize();}private void Initialize(){Mode=BindingMode.TwoWay;UpdateSourceTrigger=UpdateSourceTrigger.LostFocus;NotifyOnValidationError=true;validatesondaerrors=true;validatesonceptions=true;}}}[/code]@vines:
Text=“{my:TwoWayBinding Path=PedigreeName}”