[英]How to change selected row color in DataGrid Mahapp
我正在尝试更改所选行的颜色,但无法实现。 我已经尝试过了:
<DataGrid Style="{StaticResource AzureDataGrid}">
但我唯一能看到的变化是第一列用天蓝色着色。 当我选择一行时,它将变为白色,并且看不到所选行的值。 我是这个framework
主题wpf的新手,并且文档不准确。 有人能帮我吗?
现在可以使用最新的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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.