1

我有一个 ViewModel,它有一个具有相同接口的对象列表,并在视图中显示它们,我们UserControl在视图绑定到的视图模型中有一个 s 列表。我想知道是否可以为列表中不同类型的具体对象创建一个模板,并让 WPF 为我应用正确的模板,而不是创建UserControl列表并绑定到该模板。

基本上我有:

<StackPanel 
            Margin="0,0,20,0"
            >                
            <my2:ProfileIdentificationView />
            <ItemsControl
                ItemsSource="{Binding Path=ProfileSections}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </StackPanel>
    </DockPanel>

ItemsSource 绑定是用户控件的列表。我正在寻找一种方法来根据 ProfileSection 的类型在此处应用这些 UserControls 的外观。就像一种类型是 IIS 部分,另一种类型是用户部分。

4

1 回答 1

3

您可以DataTemplates通过DataTemplate.DataType. 确保使用x:Type标记扩展,因为字符串被解释为 XML 元素标记(以允许 XML 的隐式模板)。

于 2012-07-06T15:33:47.583 回答