将 DataRecordPresenter 样式应用于特定网格
Apply DataRecordPresenter style to a specific grid
我的 WPF 表单上有几个 xamDataGrids(版本 11.2)。我创建了一种样式,在满足触发器时将整行着色为黄色。
<Style TargetType="{x:Type igDP:DataRecordPresenter}" >
<Style.Triggers>
<DataTrigger Binding="{Binding Path=somePropertyNameHere}" Value="1">
<Setter Property="Background" Value="#ECEC85" />
</DataTrigger>
</Style.Triggers>
</Style>
问题是第二个网格 viewModel 没有数据触发器正在使用的 属性,这会生成一个我想修复的绑定异常。所以我认为解决此问题的最简单方法是将样式专门应用于第一个网格,但我不知道该怎么做...请帮忙?
您可以为网格赋予特定的样式。参考下面的代码。
<Page.Resources>
<Style x:Key="FirstGridDRP" TargetType="igDP:DataRecordPresenter" >
<Style.Triggers>
<DataTrigger Binding="{Binding Path=somePropertyNameHere}" Value="1">
<Setter Property="Background" Value="#ECEC85" />
</DataTrigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Grid>
<igDP:XamDataGrid x:Name="FirstGird">
<igDP:XamDataGrid.FieldLayoutSettings>
<igDP:FieldLayoutSettings DataRecordPresenterStyle="{StaticResource FirstGridDRP}"/>
</igDP:XamDataGrid.FieldLayoutSettings>
</igDP:XamDataGrid>
<igDP:XamDataGrid x:Name="SecondGrid">
</igDP:XamDataGrid>
</Grid>
我的 WPF 表单上有几个 xamDataGrids(版本 11.2)。我创建了一种样式,在满足触发器时将整行着色为黄色。
<Style TargetType="{x:Type igDP:DataRecordPresenter}" >
<Style.Triggers>
<DataTrigger Binding="{Binding Path=somePropertyNameHere}" Value="1">
<Setter Property="Background" Value="#ECEC85" />
</DataTrigger>
</Style.Triggers>
</Style>
问题是第二个网格 viewModel 没有数据触发器正在使用的 属性,这会生成一个我想修复的绑定异常。所以我认为解决此问题的最简单方法是将样式专门应用于第一个网格,但我不知道该怎么做...请帮忙?
您可以为网格赋予特定的样式。参考下面的代码。
<Page.Resources>
<Style x:Key="FirstGridDRP" TargetType="igDP:DataRecordPresenter" >
<Style.Triggers>
<DataTrigger Binding="{Binding Path=somePropertyNameHere}" Value="1">
<Setter Property="Background" Value="#ECEC85" />
</DataTrigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Grid>
<igDP:XamDataGrid x:Name="FirstGird">
<igDP:XamDataGrid.FieldLayoutSettings>
<igDP:FieldLayoutSettings DataRecordPresenterStyle="{StaticResource FirstGridDRP}"/>
</igDP:XamDataGrid.FieldLayoutSettings>
</igDP:XamDataGrid>
<igDP:XamDataGrid x:Name="SecondGrid">
</igDP:XamDataGrid>
</Grid>