我有一個WPF ItemsControl誰的ItemsSource綁定到MVVM中的可觀察集合的視圖模型。 ItemTemplate設置爲我想要的用戶控件。但是,有些情況下我想要另一個控件而不是XAML中指定的控件。WPF:如何在ItemsControl中使用兩個不同的控件?
我該如何輕鬆做到這一點?
我有一個WPF ItemsControl誰的ItemsSource綁定到MVVM中的可觀察集合的視圖模型。 ItemTemplate設置爲我想要的用戶控件。但是,有些情況下我想要另一個控件而不是XAML中指定的控件。WPF:如何在ItemsControl中使用兩個不同的控件?
我該如何輕鬆做到這一點?
使用的DataTemplates到視圖模型映射到的意見:
<ItemsControl ItemsSource="{Binding SomeCollectionOfViewModels}">
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:FirstViewModel}">
<Label>Foo</Label>
</DataTemplate>
<DataTemplate DataType="{x:Type local:SecondViewModel}">
<Label>Bar</Label>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
如果我明白你有一個包含兩種不同類型的對象的集合,你想要2個不同的模板。 您可以爲每個對象類型構建一個數據模板,並讓WPF根據對象類型呈現正確的模板。