WPF DataGrid样式的标题内容仅在每个触发器中显示一次

时间:2017-08-11 10:03:40

标签: wpf xaml datagrid

我的WPF DataGrid ThisAddIn_Startup s'内容出现了一个奇怪的问题。样式的XAML如下所示:

Header

错误和警告图标应位于这些类型的每一行上,标准行为空白。但是,输出看起来像这样:

Example image of rows with missing header icons

每个触发器似乎只显示一次图标,但是当行着色正确时,触发器显然会触发。

Snoop显示图像根本没有插入到其他<DataGrid.RowStyle> <Style TargetType="DataGridRow"> <Style.Triggers> <DataTrigger Binding="{Binding Type, Converter={StaticResource EnumToStringConverter}}" Value="Default"> <Setter Property="Background" Value="White"/> </DataTrigger> <DataTrigger Binding="{Binding Type, Converter={StaticResource EnumToStringConverter}}" Value="Error"> <Setter Property="Background" Value="#F2DEDE"/> <Setter Property="Header"> <Setter.Value> <Image Source="{StaticResource IconError}" Width="16" Height="16"></Image> </Setter.Value> </Setter> </DataTrigger> <DataTrigger Binding="{Binding Type, Converter={StaticResource EnumToStringConverter}}" Value="Warning"> <Setter Property="Background" Value="#FCF8E3"/> <Setter Property="Header"> <Setter.Value> <Image Source="{StaticResource IconWarning}" Width="16" Height="16"></Image> </Setter.Value> </Setter> </DataTrigger> </Style.Triggers> </Style> </DataGrid.RowStyle> 中。

当用路径替换资源图像时,以及用Header元素完全替换图像时,仍然会发生这种情况。

这里发生了什么?有没有更好的方法我错过了?

编辑:对于发现此事后的任何人,TextBlock图标为StaticResource个实例,而不是路径。

0 个答案:

没有答案