0

我创建了一个从 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 显式修改用作 ItemsPanel 的 Panel 的 Children 集合。ItemsControl 为 Panel 生成子元素

4

1 回答 1

2

只需将ItemsControl您的面板用作ItemsPanel. 您可以获得数据模板和绑定项的所有属性。

于 2013-09-06T11:15:20.847 回答