我想创建自己的usercontrol,它将一些FrameworkElement作为参数(作为内容),然后它将在几个副本上显示它(多少?它依赖)无论如何,副本必须绑定到它们的VM。单个副本可能是StackPanel,带有少量绑定按钮和TextBoxes。所以它看起来像这样:
<MyControl> <Panel with stuff in it/> </MyControl>
现在我控制着热门的ItemsControl,我正在动态地放置物品。但是一个内容(例如,堆栈面板)只能有一个父级,因此它不起作用。我怎么能得到这个?我听说DataTemplates可以帮助我,但我不知道如何。如果我做不到这样的话,我也会徘徊:
<MyControl> <ViewModel of Panel with stuff/> </MyControl>
答案 0 :(得分:2)
您需要获取包含DataTemplate
(s)的FrameworkElement
属性,然后在控件中创建ContentPresenter
,并将Content
设置为ViewModel及其ContentTemplate
设置为您的DataTemplate
属性。