【问题标题】:How to change selected row color in DataGrid Mahapp如何在 DataGrid Mahapp 中更改选定的行颜色
【发布时间】:2015-07-22 09:57:20
【问题描述】:

我正在尝试更改所选行的颜色,但没有结果。 我试过这个:

<DataGrid Style="{StaticResource AzureDataGrid}">

但我能看到的唯一变化是用天蓝色着色的第一列。 当我选择一行时,它变成白色,我看不到所选行上的值。我是这个 framework 主题 wpf 的新手,文档不准确。有人可以帮我吗?

【问题讨论】:

    标签: c# wpf mahapps.metro


    【解决方案1】:

    现在可以使用最新的 Alpha 版本的 MahApps.Metro(1.1.3.x 或更高版本 1.2.0)更改选定的行刷

    这是主要演示中的示例

    <DataGrid x:Name="MetroDataGrid"
                Grid.Column="1"
                Grid.Row="1"
                RenderOptions.ClearTypeHint="Enabled"
                TextOptions.TextFormattingMode="Display"
                HeadersVisibility="All"
                Margin="5"
                SelectionUnit="FullRow"
                ItemsSource="{Binding Path=Albums}"
                AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridCheckBoxColumn ElementStyle="{DynamicResource MetroDataGridCheckBox}"
                                    EditingElementStyle="{DynamicResource MetroDataGridCheckBox}"
                                    Header="IsSelected"
                                    Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Path=IsSelected, Mode=OneWay}" />
            <DataGridTextColumn Header="Title"
                                Binding="{Binding Title}" />
            <DataGridTextColumn Header="Artist"
                                Binding="{Binding Artist.Name}" />
            <DataGridTextColumn Header="Genre"
                                Binding="{Binding Genre.Name}" />
            <controls:DataGridNumericUpDownColumn Header="Price"
                                                    Binding="{Binding Price}"
                                                    StringFormat="C"
                                                    Minimum="0" />
        </DataGrid.Columns>
        <DataGrid.Style>
            <Style BasedOn="{StaticResource MetroDataGrid}"
                    TargetType="{x:Type DataGrid}">
                <Setter Property="AlternatingRowBackground"
                        Value="{DynamicResource GrayBrush10}" />
            </Style>
        </DataGrid.Style>
        <DataGrid.RowStyle>
            <Style BasedOn="{StaticResource MetroDataGridRow}"
                    TargetType="{x:Type DataGridRow}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Price, Mode=OneWay, Converter={StaticResource AlbumPriceIsTooMuchConverter}}"
                                    Value="True">
                        <Setter Property="Background"
                                Value="#FF8B8B" />
                        <Setter Property="Foreground"
                                Value="Red" />
                    </DataTrigger>
                    <!-- IsMouseOver -->
                    <MultiDataTrigger>
                        <MultiDataTrigger.Conditions>
                            <Condition Binding="{Binding Price, Mode=OneWay, Converter={StaticResource AlbumPriceIsTooMuchConverter}}"
                                        Value="True" />
                            <Condition Binding="{Binding Path=IsMouseOver, RelativeSource={RelativeSource Self}}"
                                        Value="true" />
                        </MultiDataTrigger.Conditions>
                        <Setter Property="Background"
                                Value="#FFBDBD" />
                    </MultiDataTrigger>
                </Style.Triggers>
            </Style>
        </DataGrid.RowStyle>
        <DataGrid.RowValidationRules>
            <ValueConverter:AlbumPriceIsReallyTooMuchValidation ValidatesOnTargetUpdated="True"
                                                                ValidationStep="CommittedValue" />
            <ValueConverter:AlbumPriceIsReallyTooMuchValidation ValidatesOnTargetUpdated="True"
                                                                ValidationStep="UpdatedValue" />
        </DataGrid.RowValidationRules>
    </DataGrid>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      相关资源
      最近更新 更多