我在WPF中有一個DataGrid,它的SelectedIndex字段綁定到我的viewmodel中的相應屬性。當窗口打開時,與未選中的行相比,我可以看到所選行隱隱地顯示爲灰色。如果用戶單擊該行,它將變爲藍色陰影。爲什麼有兩種不同類型的DataGridRow突出顯示顏色,爲什麼我無法控制它們?
的原因,這是一個問題,因爲它似乎我只能設置已經通過,高亮用戶點擊行的背景顏色,而不是由選定的索引程序改變。我曾嘗試風格以下類型的,但行的,他們只是效果背景顏色點擊,而不是那些由SelectedIndex的設置:
例1:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Blue" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
例2:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}" >
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Blue" />
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" />
<SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="Black" />
</Style.Resources>
</Style>
</DataGrid.RowStyle>
所以,如何設置選定的索引hightlight顏色?因爲我的下一步是忽略用戶點擊。無論如何,這兩種類型的行選擇之間有什麼區別,用戶點擊的類型以及以編程方式設置selectedindex的類型?