0
我有一個定製的WpfToolkit DataGrid(.net 3.5),它始終處於編輯模式,我希望它具有與標準TextBox相同的邊框。爲我的控件使用與TextBox相同的邊框
我想:
- 結合我控制一個TextBox的BorderBrush的BorderBrush(似乎TextBox的BorderBrush爲空)。
- 在運行時讀取TextBox的BorderBrush(它始終爲空)。
- 我也嘗試手動設置BorderBrush,但TextBox具有 不同的邊框畫刷,具體取決於Windows主題。
一個正常的文本框邊框看起來是這樣的:
我的控制是這樣的,但應該有相同的邊框作爲文本框:
編輯:
我的DataGrid細胞風格:
<Style TargetType="{x:Type Controls:DataGridCell}" x:Key="DefaultExcelCell">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="TextBlock.TextAlignment" Value="Right" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Transparent" />
<!-- The text color of a selected cell (Black = same as not selected cell) -->
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
我確實嘗試過,但問題是每個主題都有不同的邊框樣式。例如,上述代碼在Windows 7中使用默認主題看起來很好,但是在Windows Xp或Windows 7經典主題 –
中有一個爲程序中所有文本框設置的默認樣式,但它不僅設置了BorderBrush像字體,字體大小的東西。 –
如何在編輯模式下自定義單元格的樣式?你有沒有嘗試設置'TextBox'風格爲{x:Null},它應該重置爲默認值。我假設'WpfToolkit DataGrid'爲某些控件定義了一些樣式。 –