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