我正在寻找一种在UpdateSourceTrigger
中设置绑定属性Style
的方法。目前我手动设置每个TextBox
,如下所示:
<TextBox Text="{Binding boundValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
我想做的是这样的事情(但这显然不起作用):
<Window.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Binding.UpdateSourceTrigger" Value="PropertyChanged" />
</Style>
</Window.Resources>
<Grid>
<TextBox Text="{Binding boundValue, Mode=TwoWay}"/>
</Grid>
答案 0 :(得分:2)
样式适用于FrameworkElement(及派生控件)。
Binding不是FrameworkElement。
无论如何,您可以创建自己的markup extension来设置您需要的Binding属性:
public class PropertyChangedBinding : Binding
{
public PropertyChangedBinding(string path)
: base(path)
{
UpdateSourceTrigger = System.Windows.Data.UpdateSourceTrigger.PropertyChanged;
}
public PropertyChangedBinding()
: base()
{
UpdateSourceTrigger = System.Windows.Data.UpdateSourceTrigger.PropertyChanged;
}
}
因此,在您的XAML中,您可以使用{local:PropertyChangedBinding ...}
。