双击 TreeViewItem 在 MainWindow 的 Grid 中显示 UserControl
Posted
技术标签:
【中文标题】双击 TreeViewItem 在 MainWindow 的 Grid 中显示 UserControl【英文标题】:Double click TreeViewItem to show UserControl in MainWindow's Grid 【发布时间】:2022-01-20 02:17:29 【问题描述】:我想在 MainWindow 的 Grid 中显示一个 UserControl,但双击时不起作用,它不会显示 UserControl。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" MaxWidth="400" MinWidth="0"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Margin="0,0,0,0">
<TreeView Background="Transparent">
<TreeViewItem Header="Purchase" IsExpanded="False">
<TreeViewItem Header="Material" x:Name="TreeViewItem_Material" MouseDoubleClick="TreeViewItem_Material_MouseDoubleClick"></TreeViewItem>
</TreeViewItem>
</TreeView>
</Grid>
<GridSplitter Margin="0,0" Width="5"/>
<Grid Grid.Column="2" x:Name="MainGrid" Margin="0,0,0,0"></Grid>
</Grid>
private void TreeViewItem_Material_MouseDoubleClick(object sender, MouseButtonEventArgs e)
UserControl material = new Material(); //UserControl: Material.xaml
MainGrid.Children.Add(material);
谢谢。
编辑----- 我的代码运行良好,只是 UserControl Layout 问题导致没有显示。
【问题讨论】:
【参考方案1】:您的代码在我的环境中运行良好,如下所示。
双击节点Material
时显示Hello, Material
。
检查Material
的可见性或使用简单的UserControl
可能会有所帮助。
【讨论】:
谢谢兄弟,我发现是UserControl边距问题导致它不显示。谢谢你的回复你:D以上是关于双击 TreeViewItem 在 MainWindow 的 Grid 中显示 UserControl的主要内容,如果未能解决你的问题,请参考以下文章
WPF 解决多个TreeViewItem同时触发某事件的简单方法
WPF 解决多个TreeViewItem同时触发某事件的简单方法
WPF 解决多个TreeViewItem同时触发某事件的简单方法
C# WPF TreeViewItem MouseDoubleClick 事件在 TreeViewItem 与 TreeViewItem.Header