代码之家  ›  专栏  ›  技术社区  ›  Vaccano

wpf-从数据模板创建UI对象

  •  4
  • Vaccano  · 技术社区  · 14 年前

    这和这个很相似 question 我早些时候问过。我希望能更清楚地回答问题。

    我有一个数据对象(称为mockui)。它有一个数据模板(在app.xaml中),如下所示:

    <DataTemplate DataType="{x:Type local:MockWI}">
        <Button Content="{Binding Name}"/>
    </DataTemplate>
    

    在我的代码里我想要 创造 数据模板是什么的UI对象。所以我有了mymockwi,我想知道将使用什么模板,并得到它创建的对象(在本例中是一个内容设置为mymockwi的按钮)。

    我试着做一个按钮:

    Button myButton = new Button {Content = myMockWI}
    

    但正如您可能猜到的那样,创建按钮后会在该按钮中放置另一个按钮(因为应用了数据模板)。我怎么才能只有一个按钮?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Vaccano    14 年前

    结果发现我只需要在UI树上爬一点。

    如果我创建了一个新的ContentControl,那么它就不看它,而是接受任何数据模板。

    所以我的代码从上面改成了:

    ContentControl myControl = new ContentControl {Content = myMockWI};