这与我前面提到过的question非常相似。我希望能更清楚,并得到一个不同的答案。
我有一个数据对象(称为MockUI)。它有一个数据模板(在app.xaml中),如下所示:
<DataTemplate DataType="{x:Type local:MockWI}">
<Button Content="{Binding Name}"/>
</DataTemplate>
在我的代码中,我希望创建一个与数据模板相同的UI对象。所以我有myMockWI,我想知道将使用哪个模板并获取它创建的对象(在这种情况下是一个内容设置为myMockWI的按钮)。
我试过按一下按钮:
Button myButton = new Button {Content = myMockWI}
但正如您可能猜到的那样,创建按钮然后在该按钮内放置另一个按钮(因为应用了数据模板)。我怎么才能得到一个按钮?
答案 0 :(得分:3)
原来我只需要稍微上一下UI树。
如果我创建一个新的ContentControl,那么它没有Look to it并接受任何datatemplate。
所以我的代码从上面改为:
ContentControl myControl = new ContentControl {Content = myMockWI};