将DataRecordPresenter样式应用于特定网格

时间:2015-03-16 16:59:27

标签: wpf c#-4.0 infragistics xamdatagrid

我的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没有数据触发器正在使用的属性,这会生成我想要修复的绑定异常。所以我认为解决这个问题的最简单方法是将样式专门应用到第一个网格,但我不知道如何做到这一点......有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以为网格指定特定样式。请参考以下代码。

<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>