我有一个UserControl,我希望能有一个以上的孩子。它已经是StackPanel的孩子,所以我做错了什么?
最终,我希望控件能够自动包含一些自己的子项,然后,当它被使用时,允许将更多的子项放在其中一个元素中。我试了MSDN's How to Override the Logical Tree但没有成功。
提前致谢。
LayerPanelItem.xaml:
<UserControl x:Class="Controls.LayerPanelItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel></StackPanel>
</UserControl>
Main.xaml:
<controls:LayerPanelItem>
<TextBlock>Test</TextBlock>
<TextBlock>Test</TextBlock> <!-- Error: The property 'Content' is set more than once. -->
</controls:LayerPanelItem>
答案 0 :(得分:2)
您不能(直接)使用UserControl执行此操作。相反,您需要从ItemsControl派生,并将您自己的自定义布局逻辑放在子类中。
答案 1 :(得分:-1)
尝试在UserControl
中添加网格,并将其余的孩子添加到该网格中。