0
いくつか試しましたが、TriggerのAlternationIndexがまったく機能しません。WPF DataGrid交互の行の背景が機能しません
私は
<DataGrid x:Name="dataGrid" Margin="10,40,10,10" ItemsSource="{Binding}"
AlternatingRowBackground="DimGray" AlternationCount="1"
を使用している場合、それは動作しますが、その後IsMouseOverトリガが交互の行では動作しません。
だから私は事の誰もがここに書いてください:そのコード付き
<Style x:Key="DataGridRowStyle" TargetType="{x:Type DataGridRow}">
<Setter Property="Height" Value="22"/>
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#FF574F4F"/>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="AliceBlue"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="#FF8B1515" />
</Trigger>
</Style.Triggers>
...
...
<DataGrid x:Name="dataGrid" Margin="10,40,10,10" ItemsSource="{Binding}" IsReadOnly="True"
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
RowHeaderStyle="{StaticResource DataGridRowHeaderStyle}"
CellStyle="{StaticResource DataGridCellStyle}"
RowStyle="{StaticResource DataGridRowStyle}"....
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Description" Binding="{Binding Description}"/>
<DataGridTextColumn Header="Author" Binding="{Binding Author}"/>
</DataGrid.Columns>
をAliceBlueは表示されません。すべてを試しましたが、何もしない理由は何も分かりません。 AlternationIndex 0はバックグラウンドとして動作しますが1,2,3ではありません。 バインディングソースとしてDataTableを使用しました いくつかのメソッドを持つ単純なクラスです。私は派手なものは私の上位コードからの戻り値とのDataContextを設定
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Description", typeof(string));
table.Columns.Add("Author", typeof(string));
....
table.Rows.Add(name, description, author);
に新すべてであることを、Javaの1.6 SWTから来ている
dataGrid.DataContext = dTable.getTable();
それはdoesnの理由
は誰のアイデアを持っていますそれは本当にナッツを動かす。
あなたのために抱擁! :D AlternationCountはAlternatingRowBackgroundでのみ使用されますが、トリガーでは使用されません。ありがとう:) –