C# 如何更改WPF中绑定选项的默认值?
在我当前的项目中,我使用了几个文本框控件,这些控件的内容由来自数据库的对象填充。对象使用验证来验证文本的正确插入 当我想显示一个验证错误(即文本有很多个字符)时,我必须向text属性添加一些绑定选项,如下所示:C# 如何更改WPF中绑定选项的默认值?,c#,wpf,templates,binding,styles,C#,Wpf,Templates,Binding,Styles,在我当前的项目中,我使用了几个文本框控件,这些控件的内容由来自数据库的对象填充。对象使用验证来验证文本的正确插入 当我想显示一个验证错误(即文本有很多个字符)时,我必须向text属性添加一些绑定选项,如下所示: <TextBox Text="{Binding Mode=TwoWay, Path=Description, ValidatesOnDataErrors=True, NotifyOnValidationError=True, UpdateSourceTrigger=Property
<TextBox Text="{Binding Mode=TwoWay, Path=Description, ValidatesOnDataErrors=True, NotifyOnValidationError=True, UpdateSourceTrigger=PropertyChanged}" />
是否可以创建一个模板或样式,或者将最后三个选项(ValidateSondaErrors、NotifyOnValidationError、UpdateSourceTrigger)的默认值更改为上述代码中的值?文本框控件应如下所示:
<TextBox Text="{Binding Mode=TwoWay, Path=Description}" />
鉴于这是WPF(不是Silverlight),我认为您确实有一个选择:自定义标记扩展。这样一个扩展可以构造并返回一个绑定
,不管您喜欢什么,并且会产生一个简单的使用模式,例如:
<TextBox Text="{ValidatedBinding Description}"/>
有关实现自定义标记扩展的详细信息,请参阅。如果从标记扩展返回绑定,则该绑定的行为不符合预期,但您可以直接从绑定继承并在构造函数中设置属性。这正是我需要的帮助。它就像一个符咒。我创建了一个新类,并从绑定继承了它,现在它可以工作了。非常感谢。:)