【问题标题】:Data Template for custom panel自定义面板的数据模板
【发布时间】:2013-09-10 10:59:02
【问题描述】:

我创建了一个继承自 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 生成子元素

【问题讨论】:

    标签: c# wpf xaml wpf-controls


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多