1

我想要一个用户 UserControl 派生类,其中包含另一个 UserControl 派生类的对象列表,我可以在 xaml 中使用它。

<UserControlA>
   <UserControlA.Items>
      <UserControlB Width=10 Height=10 />
      <UserControlB Width=10 Height=10 />
      <UserControlB Width=10 Height=10 />
   <UserControlA.Items>
<UserControlA>

我不知道如何实现 UserControlA 的 Items 属性来允许这样做。我已经尝试将它实现为类型的依赖属性,Items : List<UserControlB>但这确实将整个 xaml 从 USerControlB 复制到 UserControlA.Items 部分。

谢谢你的帮助

4

1 回答 1

0

看起来你真的“过度”了。您可能只想要一个Styleor和其中的项目。TemplateItemsControlListBoxDataTemplate

这是一些代码:

<ListBox>
    <ListBox.Template>
        <ControlTemplate>
                    <!--The control functionality of UserControlA-->
            <ItemsPresenter/>
        </ControlTemplate>
    </ListBox.Template>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <ContentControl/> <!--UserControlB-->
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
于 2012-10-25T16:30:47.583 回答