如何在XAML中嵌入模板作为内容?

时间:2014-08-01 10:06:18

标签: c# wpf xaml mvvm

有没有办法在xaml中将顶级窗口声明为内容模板,并在加载时重新创建它?基本上我正在尝试做一些与数据模板相同的事情:

<DataTemplate DataType="{x:Type my:MyType}" >
    <Window>
        ...etc...
    </Window>
</DataTemplate>

这在运行时工作正常,但是由于您不应该使用顶级窗口来处理数据模板或样式等,因此在编译时会产生错误,所以基本上我需要替换DataTemplate用自定义类来解决这个问题。我实际上并不需要支持DataType ...数据模板将资源键隐式设置为DataType,但WPF中的错误意味着您无法在自己的类型上使用相关属性。我可以通过反向操作来轻松解决这个问题,即将类型指定为键:

<MyClass x:Key="{x:Type my:MyType}" >
    <Window>
        ...etc...
    </Window>
</MyClass>

我需要知道的是如何声明MyClass,以便XAML内容生成一个模板,我可以创建实例而不是Window本身的实际实例。

0 个答案:

没有答案