您可以使用数据模板中的触发器来确定复选框是否应可见:
<HierarchicalDataTemplate x:Key="myTemplate"
ItemsSource="{Binding myDatasetRelation}">
<StackPanel>
<CheckBox x:Name="CheckBox" IsChecked="{Binding IsChosen}"
Content="{Binding Description}" />
<TextBlock x:Name="LeafLabel" Text="{Binding Description}"
Visibility="Collapsed" />
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding myDatasetRelation.Count}" Value="0">
<Setter TargetName="CheckBox" Property="Visibility" Value="Collapsed" />
<Setter TargetName="LeafLabel" Property="Visibility" Value="Visible" />
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
我不确定值是否绑定到via
myDatasetRelation
有一个
Count
属性,但如果不是,则可以使用
Length
或者找到其他方法来确定它是否为空(可能使用
IValueConverter
如果没有更简单的方法。