xamdatagrid行背景颜色datatrigger

问题描述 投票:0回答:2

我正在尝试在Xamdatagrid中更改我的行的颜色我有一个布尔值,我想绑定到它。

我正在尝试使用这个http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.aspx?ArticleID=10103

这是我的代码:我的风格有问题:

igDP:XamDataGrid DataSource="{Binding ResultData}" DataContext="{Binding }" Grid.Row="6"
                          GroupByAreaLocation="None"
                          Width="Auto"
                          ActiveDataItem="{Binding SelectedItem}">
            <igDP:XamDataGrid.Resources>
                <Style TargetType="{x:Type igDP:DataRecordCellArea}">
                    <Setter Property="Background" Value="White">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Record.DataItem.CanBeCalculated}" Value="False">
                                <Setter Property="Background" Value="Red"></Setter>
                            </DataTrigger>
                        </Style.Triggers>
                    </Setter>
                </Style>
                </igDP:XamDataGrid.Resources>
                <igDP:XamDataGrid.InputBindings>
                    <MouseBinding MouseAction="LeftDoubleClick" Command="{Binding DisplayImageCommand}"/>
                </igDP:XamDataGrid.InputBindings>

错误MC3015:附加属性“Style.Triggers”未在“Setter”或其基类之一上定义。

wpf wpf-controls infragistics
2个回答
4
投票

Style.Triggers移出Setter元素。

<Style TargetType="{x:Type igDP:DataRecordCellArea}">
   <Setter Property="Background" Value="White"/> <-- HERE close the setter.
   <Style.Triggers>
     <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, 
                     Path=Record.DataItem.CanBeCalculated}" Value="False">
         <Setter Property="Background" Value="Red"></Setter>
     </DataTrigger>
   </Style.Triggers>
</Style>

1
投票

这是答案,只是把它放在文件中感谢Rohit。

<igDP:XamDataGrid DataSource="{Binding ResultData}" DataContext="{Binding }" Grid.Row="6"
                          GroupByAreaLocation="None"
                          Width="Auto"
                          ActiveDataItem="{Binding SelectedItem}">
            <igDP:XamDataGrid.Resources>
                <Style TargetType="{x:Type igDP:DataRecordCellArea}" BasedOn="{StaticResource {x:Type igDP:DataRecordCellArea}}">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Record.DataItem.CanBeCalculated}" Value="False">
                            <Setter Property="Background" Value="Tomato"></Setter>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </igDP:XamDataGrid.Resources>
© www.soinside.com 2019 - 2024. All rights reserved.