如何仅设置 TreeView 标题的样式? 我想让标题变得不可选择。
类似于:
<TreeViewHeaderStyle>
<Setter Property="Focusable" Value="false">
</TreeViewHeaderStyle>
谢谢:)
最佳答案
在窗口或控件的资源中设置 TreeViewItem
的样式。
<Window.Resources>
<Style TargetType="TreeViewItem">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</Window.Resources>
编辑:
如果您仍然需要通过三角形展开,但想要禁用标题,则解决方案有点脏。许多解决方案都显示了 HeaderedItemsControl
的复杂重新设计,您可以搜索它,或者简单地向每个 TreeViewItem
添加一个 Label
并处理鼠标按下事件。在下面的示例中,我将 Label
包裹在网格内,以便我可以根据需要设置标签的样式。单击Grid
时,将处理该事件以防止扩展。如果您仅设置 Label
内容,则只需将 MouseDown
事件添加到 Label
并放弃 Grid
即可>.
<TreeViewItem>
<TreeViewItem.Header>
<Grid MouseDown="Grid_MouseDown">
<Label Content="TEST" IsEnabled="False" />
</Grid>
</TreeViewItem.Header>
<Button Content="Random SubItem"/>
</TreeViewItem>
背后的代码:
private void Grid_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
e.Handled = true;
}
关于c# - 样式 TreeView 标题。设置标题不可选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49820050/