在这种情况下是否自定义控制?

时间:2013-05-03 17:46:02

标签: wpf custom-controls controltemplate

我会考虑一个图形控件,但我不知道该怎么做。

我想创建一个带有模板元素的容器控件。

例如:

<MyControl>
   <MyControl.Elements>
     <TextElement Value="{Binding Somedata}" />
     <IntElement Value="{Binding OtherData}" />
   </MyControl.Elements>
</MyControl>

不同的元素是我创建的模板,始终以与项目相同的方式显示。 在简单的示例中,MyControl将是WrapPanel,TextElement是TextBlock,IntElement是TextBox。元素将是WrapPanel的孩子。

我应该为MyControl创建自定义控件吗? 还有Elements的依赖属性? 如何为所有模板创建ElementBase?

谢谢

1 个答案:

答案 0 :(得分:0)

听起来你只想要一个ItemsControl。

    <ItemsControl x:Name="itemsControl">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.Items>
            <TextBlock Text="{Binding Somedata}" />
            <TextBlock Text="{Binding OtherData}" />
        </ItemsControl.Items>
    </ItemsControl>