如何在HeaderedItemsControl中使用不同的UserControls(在ResourceDictionary中声明)?

时间:2012-10-02 11:53:18

标签: wpf resourcedictionary headereditemscontrol

我有用户HeaderedItemsControl在我的应用中显示不同的UserControl。 现在我在UserControl

中将这些DataTemplateMainWindow声明如下
<HeaderedItemsControl.Resources>
       <DataTemplate DataType="{x:Type vm:SearchViewModel}">
             <vw:SearchStudentView/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type vm:SearchViewModel2}">
             <vw:SearchStudentView2/>
        </DataTemplate>
</HeaderedItemsControl.Resources>

但我有近20个视图,我想将所有DataTemplate放在ResourceDictionary中。 任何人都可以帮助我如何在DataTemplate的资源中使用ResourceDictionary中的这些HeaderedItemsControl

1 个答案:

答案 0 :(得分:0)

这很简单。

1)您必须创建DataTemplate并将其添加到ResourceDictionary

2)在App.xaml文件中,您必须添加已创建的ResoueceDictionary TemplateResourceDictionary.xaml 是我的测试ResourceDictionary)。

<Application x:Class="ResourceDictionaryExample.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="TemplateResourceDictionary.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

这就是全部。 :)