自定义面板的数据模板

时间:2013-09-06 10:57:35

标签: c# wpf xaml wpf-controls

我已经在WPF中创建了一个继承自面板类的自定义循环面板。

此自定义控件将以循环方式排列其所有元素。现在我想为使用此控件的子元素提供样式。

如下所述是我的控件的用法,我想从这里提供子项目模板作为属性,如:DataTemplateToUse="{StaticResource ChildItemsTemplate}"

并且此控件应足够智能,以便将模板应用于其所有子元素。

<myControl:CirclePanel InnerRadius="250" OuterRadius="300">

</myControl:CirclePanel>

好的,我使用它如下

<Grid Margin="10">
        <ItemsControl Name="icTodoList">
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <local:CirclePanel  x:Name="CircularPanel" InnerRadius="250" OuterRadius="300" Background="Cornsilk" >
                    </local:CirclePanel>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Button Content="{Binding Path=Title}" Margin="0,0,5,5"/>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </Grid>

动态地从代码后面我将从我的圆形面板中删除元素,所以现在它抛出错误:

无法显式修改ItemsControl的使用asItemsPanel的Panel的子集合。 ItemsControl为Panel

生成子元素

1 个答案:

答案 0 :(得分:2)

只需将ItemsControl与您的小组ItemsPanel一起使用即可。您将获得数据模板和绑定项的所有属性。