动态地将对象放到WPF中的许多可视父对象中

时间:2011-08-03 18:53:49

标签: wpf dynamic binding controls

我想创建自己的usercontrol,它将一些FrameworkElement作为参数(作为内容),然后它将在几个副本上显示它(多少?它依赖)无论如何,副本必须绑定到它们的VM。单个副本可能是StackPanel,带有少量绑定按钮和TextBoxes。所以它看起来像这样:

<MyControl> <Panel with stuff in it/> </MyControl>

现在我控制着热门的ItemsControl,我正在动态地放置物品。但是一个内容(例如,堆栈面板)只能有一个父级,因此它不起作用。我怎么能得到这个?我听说DataTemplates可以帮助我,但我不知道如何。如果我做不到这样的话,我也会徘徊:

<MyControl> <ViewModel of Panel with stuff/> </MyControl>

1 个答案:

答案 0 :(得分:2)

您需要获取包含DataTemplate(s)的FrameworkElement属性,然后在控件中创建ContentPresenter,并将Content设置为ViewModel及其ContentTemplate设置为您的DataTemplate属性。