我有一個WPF DataGrid,我需要在DataGrid中選擇一些行。完成選擇後,藍色高線仍然在行上,我無法弄清楚如何擺脫它。我嘗試點擊其他地方,但藍色的高線仍然在行。如何取消高線WPF DataGrid行?
0
A
回答
0
雖然我不知道你想做什麼,你可以控制與重新定義DataGridCell和DataGridRow風格海萊。我會告訴你一個例子,這可能是也可能不是你想做的事情。我希望它對你有幫助。
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
<Style.Triggers>
<Trigger Property="IsSelected"
Value="True">
<Setter Property="BorderThickness"
Value="0" />
</Trigger>
<Trigger Property="IsFocused"
Value="False">
<Setter Property="Background"
Value="Transparent" />
<Setter Property="Foreground"
Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<DockPanel>
<TextBox DockPanel.Dock="Top"></TextBox>
<DataGrid ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="First Name" Binding="{Binding}" />
</DataGrid.Columns>
</DataGrid>
</DockPanel>
</Window>
1
可以處理該事件中隱藏文件代碼IsKeyboardFocusWithinChanged在設置的SelectedItem爲null這樣的 -
private void dg_IsKeyboardFocusWithinChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (!(bool)e.NewValue)
{
(sender as DataGrid).SelectedItem = null;
}
}
XAML文件:
<DataGrid x:Name="dg" IsKeyboardFocusWithinChanged="dg_IsKeyboardFocusWithinChanged"/>
如果你不想讓在你的數據網格中選擇邊框,你需要重寫System.HighlightBrush並將其添加到你的數據網格資源是這樣的 -
<DataGrid>
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
</DataGrid.Resources>
<DataGrid>
相關問題
- 1. WPF DataGrid中隱藏RowDetails或取消行
- 2. WPF Datagrid:取消排序事件(WPF Bug?)
- 3. WPF Toolkit DataGrid - 行重疊(行高問題)
- 4. WPF DataGrid行高度符合Datagrid的高度,而不會滾動
- 5. 如何查找Wpf DataGrid行
- 6. 如何抵消行高基線?
- 7. 如何防止在WPF DataGrid中取消選擇?
- 8. 如何在WPF中取消Datagrid selection changed事件?
- 9. wpf datagrid總行
- 10. WPF Datagrid行號
- 11. WPF DataGrid:默認取消第一行選擇
- 12. 選擇並取消選擇wpf datagrid中的行mvvm friendly
- 13. 停止用戶選擇/取消選擇WPF DataGrid中的行
- 14. WPF Datagrid取消選擇控制禁用時的行
- 15. WPF datagrid動態列消失
- 16. 取消Datagrid rowcommand
- 17. WPF Toolkit DataGrid多選:如何獲取SelectedItems?
- 18. WPF DataGrid多線程崩潰
- 19. 如何隱藏wpf datagrid行選擇器
- 20. WPF 4 DataGrid:獲取RowHeader的行號
- 21. WPF DataGrid中獲取行項目
- 22. 獲取DataGrid中選定的行項WPF
- 23. WPF DataGrid行模板
- 24. 刪除Datagrid行(WPF)
- 25. WPF DataGrid行問題
- 26. WPF DataGrid頁腳行
- 27. 如何以編程方式更改wpf DataGrid中選定行的行高?
- 28. 取消在DataGrid中添加新行
- 29. WPF MVVM DataGrid行到另一個DataGrid
- 30. 如何刷新WPF DataGrid?
是否要永久刪除藍色突出顯示的邊框? –
@ RV1987我只是不希望它成爲高線。例如。第三行是高線,但我希望它不像其他行一樣高。我應該在哪裏點擊刪除highline? – KMC