2
我有一个定义一组数据输入字段,所有的文本框类似的设置,像这样一类数据模板:如何通过XAML中的样式设置绑定属性?
<DataTemplate x:Key="ContactInfo">
<DockPanel>
<HeaderedContentControl Header="Contact Name">
<TextBox Width="200" Text="{Binding Name, ValidatesOnDataErrors=True}"/>
</HeaderedContentControl>
<HeaderedContentControl Header="Contact Quest">
<TextBox Width="200" Text="{Binding Quest, ValidatesOnDataErrors=True}"/>
</HeaderedContentControl>
<HeaderedContentControl Header="Contact Favorite Color">
<TextBox Width="200" Text="{Binding Color, ValidatesOnDataErrors=True}"/>
</HeaderedContentControl>
</DockPanel>
</DataTemplate>
我想,以减少重复,并尽可能消除尽可能多的重复属性。我知道我可以通过向DataTemplate添加
<DataTemplate.Resources>
<Style TargetType="x:Type TextBox">
<Setter Property="Width" Value="200"/>
</Style>
</DataTemplate.Resources>
来摆脱重复的宽度属性。但是,我也想摆脱冗余的“ValidatesOnDataErrors = True”设置。
我试图改变风格正是如此设置:
<DataTemplate.Resources>
<Style TargetType="x:Type TextBox">
<Setter Property="Width" Value="200"/>
<Setter Property="Text.Binding.ValidatesOnDataErrors" Value="True"/>
</Style>
</DataTemplate.Resources>
但在编译的时候就抱怨ValidatesOnDataErrors不被解析。
如何做到我想要的?我有超过50个字段的风格,如果我决定更改我的验证技术,我不想逐一更改所有这些字段。
这很有帮助,因为它正是我所看到的问题,它无助于我希望有一个更简单的解决方案。如果没有更好的事情出现,我可能会使用这种方法。 不幸的是,这个答案的投票需要比我更多的声望,否则我会。 – 2010-07-13 13:53:07
我知道有声望:-) – 2011-06-27 15:41:16
-1:请避免仅链接的答案。 – ANeves 2014-09-04 16:02:40