Wpf 如何使用IValueConverter使隐式生成的TreeViewItem崩溃?
我试图通过IValueConverter使隐式生成的TreeViewItems崩溃。我的代码删除了网格,但网格存在于一个TreeViewItem中。如何使用IValueConverter使TreeViewItem崩溃Wpf 如何使用IValueConverter使隐式生成的TreeViewItem崩溃?,wpf,xaml,ivalueconverter,Wpf,Xaml,Ivalueconverter,我试图通过IValueConverter使隐式生成的TreeViewItems崩溃。我的代码删除了网格,但网格存在于一个TreeViewItem中。如何使用IValueConverter使TreeViewItem崩溃 <TreeView Name="TreeViewNew" Background="Transparent" Horizon
<TreeView Name="TreeViewNew"
Background="Transparent"
HorizontalContentAlignment="Stretch"
VirtualizingStackPanel.IsVirtualizing="True"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=MapLayers}">
<Grid>
<TextBlock
Focusable="False"
Width="150"
Text="{Binding Path=Name}"
FontSize="10"
TextWrapping="Wrap"
Background="Transparent"
HorizontalAlignment="Center"
/>
</Grid>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate >
<Grid Visibility="{Binding Path=Layer, Converter={StaticResource cIsDrawingLayer}}">
您可以尝试设置要控制TreeView的ItemContainerStyle中TreeView项的可见性的绑定。可能您必须在HierarchycalDataTemplate中为每个级别的TreeViewItem重复该设置。如果绑定不起作用,您仍然可以尝试ItemContainerStyle中的触发器或DataTrigger。可能您甚至不需要带触发器的转换器。您可以尝试设置绑定,以控制TreeView的ItemContainerStyle中TreeView项目的可见性。可能您必须在HierarchycalDataTemplate中为每个级别的TreeViewItem重复该设置。如果绑定不起作用,您仍然可以尝试ItemContainerStyle中的触发器或DataTrigger。可能您甚至不需要带触发器的转换器。这是完成任务的代码:
<TreeView.Resources>
<Style TargetType="TreeViewItem" >
<Setter Property="Visibility" Value="{Binding Path=Layer,
Converter={StaticResource cIsDrawingLayer}}" />
</Style>
</TreeView.Resources>
这是完成任务的代码:
<TreeView.Resources>
<Style TargetType="TreeViewItem" >
<Setter Property="Visibility" Value="{Binding Path=Layer,
Converter={StaticResource cIsDrawingLayer}}" />
</Style>
</TreeView.Resources>