我有一個風格的窗口,我想重寫一個DataGrid風格,所有數據網格在我的應用如何重寫一個DataGrid風格
<Window.Resources>
<Style x:Name="dtgStyle" TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Transparent" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Blue" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter Property="Background" Value="Transparent" />
</Trigger>
</Style.Triggers>
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="White" />
</Style>
</Window.Resources>
我吼聲,這一切都工作,但我不得不申請
Style s = Resources["dtgStyle"] as Style;
mydtg.Style = s;
現在我不想把它應用到ALL dtgs。 最好的辦法是自動將它應用於xaml。
感謝名單
---添加灰----
謝謝您的幫助。唯一的問題是,當數據網格失去焦點時,數據網格中的選定行會改變顏色,如下圖所示(前景變爲黑色)。
我已嘗試添加各種屬性,但沒有任何工程。
此外,左邊框變得更大膽(沒有雙關語意圖)和更大。 任何想法如何解決它? 謝謝
'的TargetType = 「{x:類型DataGridRow}」 '。它是DataGridRow風格,而不是DataGrid。它應該默認應用,因爲沒有明確的鍵 – ASh
Thanx因此我將DatagridRow名稱更改爲dtrStyle並添加了 但現在如何添加正確的樣式? – Patrick
@Patrick您設置'TargetType =「{x:Type DataGridRow}」'的方式,您可以爲'DataGrid'設置。最重要的是什麼?你想要達到什麼目的? – AnjumSKhan