Wpf 所有数据网格的DataGridTextColumn.EditingElementStyle
虽然MSDN的说法似乎令人困惑,但我发现在我的每个窗口xaml中都可以设置验证错误模板,如下所示:Wpf 所有数据网格的DataGridTextColumn.EditingElementStyle,wpf,validation,Wpf,Validation,虽然MSDN的说法似乎令人困惑,但我发现在我的每个窗口xaml中都可以设置验证错误模板,如下所示: <DataGridTextColumn ...> ... <DataGridTextColumn.EditingElementStyle> <Style> <Setter Property="Validation.ErrorTemplate" Value="{
<DataGridTextColumn ...>
...
<DataGridTextColumn.EditingElementStyle>
<Style>
<Setter Property="Validation.ErrorTemplate"
Value="{StaticResource MyValidationErrorTemplate}"/>
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
...
我现在想要的是为共享主题资源字典中的所有数据网格设置错误模板。但我不能做到以下几点:
<Style TargetType="{x:Type DataGridTextColumn}">
<Setter Property="Validation.ErrorTemplate"
Value="{StaticResource MyValidationErrorTemplate}"/>
</Style>
因为DataGridTextColumn
不是从FrameworkElement
继承的;因此不能具有样式属性(请参见)
有人能给我指一下正确的方向吗 我在寻找同一个问题的答案。您可以使用类似于以下样式的方式使赋值稍微不那么冗长
<Style x:Key="TextColumnErrorStyle" TargetType="{x:Type TextBox}">
<Setter Property="Validation.ErrorTemplate" Value="{StaticResource ErrorTemplateStyle}"></Setter>
</Style>
用法:
<DataGridTextColumn Width="2*" Header="IP Address"
Binding="{Binding IpDestination,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnExceptions=True}"
EditingElementStyle="{StaticResource TextColumnErrorStyle}"/>
呃。你有没有想过这个问题?我们正在为我们的应用程序创建datagrid样式,希望避免在每一列上内联指定EditingElementStyle