添加子节点后,WPF TreeView节点变得不可选择
我对WPF树视图有一个很大的问题。我已经设置了一个类似于此的树添加子节点后,WPF TreeView节点变得不可选择,wpf,xaml,wpf-controls,binding,hierarchicaldatatemplate,Wpf,Xaml,Wpf Controls,Binding,Hierarchicaldatatemplate,我对WPF树视图有一个很大的问题。我已经设置了一个类似于此的树 <TreeView DataContext="{Binding Projects}"> <Style TargetType="TreeViewItem"> <Setter Property="IsExpanded" Value="True" /> </Style> <TreeView.Resources> <Hi
<TreeView DataContext="{Binding Projects}">
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="True" />
</Style>
<TreeView.Resources>
<HierarchicalDataTemplate x:Key="LoadTemplate">
<Grid>
<TextBlock Text="{Binding Name}" />
</Grid>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="StepTemplate"
ItemsSource="{Binding Loads}"
ItemTemplate="{StaticResource LoadTemplate}">
<Grid>
<TextBlock Text="{Binding Name}" />
</Grid>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="ProjectTemplate"
ItemsSource="{Binding Steps}"
ItemTemplate="{StaticResource StepTemplate}">
<Grid>
<TextBlock Text="{Binding Name}" />
</Grid>
</HierarchicalDataTemplate>
</TreeView.Resources>
<TreeViewItem Header="Project Workspace"
ItemsSource="{Binding}"
IsExpanded="True"
ItemTemplate="{StaticResource ProjectTemplate}" />
</TreeView>
好的,这是我一直在努力解决的问题。新节点出现在树中后,其父节点不再是可选择的。因此,在给定的示例中,您不能选择拥有新添加的加载节点的步骤节点。您仍然可以执行双击和右键单击等操作并触发事件,但仅尝试使用鼠标左键单击不会导致选择步骤节点或使其具有焦点。我已经尝试了我能想到的一切,但我一辈子都想不出为什么不能
现在我可以在树中的其他节点上单击,它们是可选择的。这样做之后,以前不允许被选择的节点将恢复其以前的功能,并再次能够被选择
因此,如果你添加了一个新节点,它就会出现,并且它的父节点无法被选择,直到你选择树视图的其他部分,然后一切又恢复正常。在没有帮助和我没有尝试过的情况下,我切换到使用Telerik控件。用Telerik的RadTreeView替换默认TreeView后,我的所有问题都消失了。如果可能的话,我建议人们避免使用微软内置的WPF TreeView控件,因为它有无数的问题,你将花费大量的时间来解决这些问题,而不是开发你的应用程序
Projects[0].Steps[0].Loads.add(new Load());