1

我有一个非常扁平结构的树视图,只有两级项目 - 主要项目和一级子项目。我正在使用 WPF MVVM 并且想要一种不同的方式来设置两个级别的样式,但不知道如何。

我将树视图绑定到 ViewModel 中的 ObservableCollection,每个元素都有一个 ObservableCollection 用于下一级。

有什么帮助吗?

4

1 回答 1

7

这可以通过 DATABINDING 和使用 DATATEMPLATES 来完成。

您将设计两个 DataTemplate。1 作为 Hierarchical 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>
于 2009-08-13T14:06:22.907 回答