Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据网格中的触发器_C#_Wpf_Xaml_Triggers - Fatal编程技术网

C# 数据网格中的触发器

C# 数据网格中的触发器,c#,wpf,xaml,triggers,C#,Wpf,Xaml,Triggers,我对这个WPF xaml代码有一个问题。虽然没有太多地使用xaml,但通过这段代码,我已经获得了我想要的东西。但我觉得这根本不是一个好的练习。首先,我想根据特定单元格中的某些值将行从红色更改为绿色或灰色。我真的必须为每个单元格保留一个触发器吗,还是在整行都要保留相同的触发器?我还想在选中一行时设置一个特定的颜色,但样式似乎不支持“IsSelected” 我对DataGrid不是很有经验,所以这可能不是最好的选择,但我认为您可以通过设置行的样式而不是单个列的样式来实现您的目标: <D

我对这个WPF xaml代码有一个问题。虽然没有太多地使用xaml,但通过这段代码,我已经获得了我想要的东西。但我觉得这根本不是一个好的练习。首先,我想根据特定单元格中的某些值将行从红色更改为绿色或灰色。我真的必须为每个单元格保留一个触发器吗,还是在整行都要保留相同的触发器?我还想在选中一行时设置一个特定的颜色,但样式似乎不支持“IsSelected”


我对
DataGrid
不是很有经验,所以这可能不是最好的选择,但我认为您可以通过设置行的样式而不是单个列的样式来实现您的目标:

    <DataGrid <!-- Your settings here -->>
        <!-- Your column definitions here -->
        <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=Errorcode}"  Value="0">
                        <Setter Property="Background" Value="LightGreen" />
                        <!-- Other Setters -->
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Path=Filename}" Value="File not created">
                        <Setter Property="Background" Value="LightGray" />
                    </DataTrigger>

                    <!-- Other Triggers -->
                    <Trigger Property="IsSelected" Value="True">
                        <Setter Property="Background" Value="Red" />
                        <!-- Other Setters -->
                    </Trigger>
                </Style.Triggers>
            </Style>
        </DataGrid.RowStyle>
    </DataGrid>


祝你好运。

Perfekt!帮了我很多忙!谢谢
    <DataGrid <!-- Your settings here -->>
        <!-- Your column definitions here -->
        <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=Errorcode}"  Value="0">
                        <Setter Property="Background" Value="LightGreen" />
                        <!-- Other Setters -->
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Path=Filename}" Value="File not created">
                        <Setter Property="Background" Value="LightGray" />
                    </DataTrigger>

                    <!-- Other Triggers -->
                    <Trigger Property="IsSelected" Value="True">
                        <Setter Property="Background" Value="Red" />
                        <!-- Other Setters -->
                    </Trigger>
                </Style.Triggers>
            </Style>
        </DataGrid.RowStyle>
    </DataGrid>