1
我有一个非常扁平的结构树视图,只有两个级别的项目 - 主要的和子级的一个级别。我正在使用WPF MVVM,并希望以不同方式对两个级别进行样式设置,但不知道如何。不同级别的WPF树视图的样式不同吗?
我将TreeView绑定到ViewModel中的ObservableCollection,并且每个元素都有一个更多的ObservableCollection用于下一级别。
任何帮助?
我有一个非常扁平的结构树视图,只有两个级别的项目 - 主要的和子级的一个级别。我正在使用WPF MVVM,并希望以不同方式对两个级别进行样式设置,但不知道如何。不同级别的WPF树视图的样式不同吗?
我将TreeView绑定到ViewModel中的ObservableCollection,并且每个元素都有一个更多的ObservableCollection用于下一级别。
任何帮助?
这可以通过DATABINDING和使用DATATEMPLATES来完成。
您将设计两个DataTemplates。 1作为一个分层的DataTemplate和其他作为一个标准的版本为您的较低水平(这是因为你只使用2级)
那么你HierarchicalDataTemplate的ItemTemplate中设置到正规的DataTemplate
详细信息可以在这里找到:从上面的网站http://msdn.microsoft.com/en-us/magazine/cc700358.aspx
代码片段:
<!-- ORDER DETAIL TEMPLATE -->
<DataTemplate x:Key="OrderDetailTemplate">
<TextBlock>
<Run>Product:</Run>
<TextBlock Text="{Binding Path=Product}" />
<Run>(</Run>
<TextBlock Text="{Binding Path=Quantity}" />
<Run>)</Run>
</TextBlock>
</DataTemplate>
<!-- ORDER TEMPLATE -->
<HierarchicalDataTemplate
x:Key="OrderTemplate"
ItemsSource="{Binding Path=OrderDetails}"
ItemTemplate="{StaticResource OrderDetailTemplate}"
>
<TextBlock Text="{Binding Path=Desc}" />
</HierarchicalDataTemplate>
这个答案从询问确切同样的问题救了我。 – IbrarMumtaz 2012-04-11 13:16:46