wpf - 如何制作具有交替行颜色和固定颜色部分的 WPF DataGrid(忽略交替)

标签 wpf xaml user-interface

我有一个数据网格,我正在尝试使其类似于:
enter image description here

我正在使用 AlternatingRowBackground属性来执行交替的颜色。对于固定颜色部分,我有类似于以下内容的 XAML:

            <DataGrid.Resources>
                <Style TargetType="{x:Type DataGridRow}">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Path=ShouldBeFixedColor}" Value="True">
                            <DataTrigger.Setters>
                                <Setter Property="Background" Value="Blue" />
                            </DataTrigger.Setters>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </DataGrid.Resources>

这种方法的问题在于“交替颜色”优先于固定颜色样式触发器。因此,在底部而不是蓝蓝蓝,而是蓝灰蓝。

关于如何存档所需着色的任何想法?如果可能的话,我宁愿在 XAML 级别完成这一切。

谢谢!

最佳答案

根据其他 SO 答案进行了一些更改。希望这对将来的人有所帮助。

  • 扬克 AlternatingRowBackground=...从网格。添加 AlternationCount="2"
  • 添加下面的块来做样式(手动做交替行)
            <DataGrid.RowStyle>
                <Style TargetType="{x:Type DataGridRow}">
                    <Style.Triggers>
                        <Trigger Property="AlternationIndex" Value="0">
                            <Setter Property="Background" Value="White" />
                        </Trigger>
                        <Trigger Property="AlternationIndex" Value="1">
                            <Setter Property="Background" Value="WhiteSmoke" />
                        </Trigger>
                        <DataTrigger Binding="{Binding Path=Selectable}" Value="False">
                            <DataTrigger.Setters>
                                <Setter Property="Background" Value="LightGray" />
                            </DataTrigger.Setters>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </DataGrid.RowStyle>
    
  • 关于wpf - 如何制作具有交替行颜色和固定颜色部分的 WPF DataGrid(忽略交替),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11435501/

    相关文章:

    c# - LINQ 中基于组的字段连接

    wpf - 当鼠标指针离开 UIElement 时如何确定鼠标按钮是否被按下

    c# - 无法使用 DataTemplate WPF 将 InputBinding 应用于整个 ListBoxItem

    wpf - 使用 WPF 样式为所有控件和文本 block 设置边距

    c# - 使用 MVVM 如何从许多可视组件或选项更新标签?

    c# - WPF:关键语法中的 ResourceKeys 如何工作?

    ios - 图像尺寸相对于屏幕尺寸

    wpf - 具有上下文相关工具栏的WPF应用程序

    qt - 如何在 QtQuick/QML 中创建动画、可变大小的 Accordion 组件

    user-interface - 开发人员易于理解的UI技巧