用戶界面控件的正常慣例是當父控件處於焦點時,所選文本,項目或行的顏色鮮豔(例如,明亮的藍色),而當控件不在時,該控件處於去飽和/昏暗(例如,淡藍色)焦點。DataGrid不在焦點時,如何使所選行飽和?
與ListView/GridView
不同,WPF DataGrid
控件默認不遵循此約定。即使在同一個窗口中的另一個控件清晰地對焦,選定的行也會顯示爲明亮。
我想,這應該只是增加一個觸發器,設置的背景{DynamicResource {x:Static SystemColors.ControlBrushKey}}
如果DataGrid
是失焦的DataGridCell
的問題,但我想不出來檢查其屬性。 IsFocused
聽起來像我想要的,但那不起作用。 IsMouseCaptured
似乎也沒有工作。
這是我試過的最新觸發器:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition
Binding="{Binding IsSelected}"
Value="True" />
<Condition
Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=wt:DataGrid}, Path=IsFocused}"
Value="False"/>
</MultiDataTrigger.Conditions>
<Setter
Property="BorderBrush"
Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
<Setter
Property="Background"
Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
<Setter
Property="Foreground"
Value="Gray" />
</MultiDataTrigger>
我能做些什麼,使這個觸發暗淡單元格時被選中的單元格,父控件沒有焦點?
'wt:'命名空間是什麼? – Tower 2012-05-27 10:41:18