首页 > 解决方案 > 将 ItemsPanelTemplate 绑定到 ItemsSource 的属性

问题描述

我正在尝试创建一个具有可变数量按钮的自定义消息框,这个数字等于 ItemsSource 的计数。按钮将放置在 UniformGrid 中。ButtonView 的 ItemsSource 被分配给 ObservableCollection Buttons。代码无法识别 Buttons.Count。如何正确分配 UniformGrid Columns 值?

    <ItemsControl Grid.Row="2" x:Name="ButtonView">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid Columns="{Binding Buttons.Count}">
                </UniformGrid>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate DataType="Button">
                <Button Margin="2" Content="{Binding Content}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

标签: wpfxamlitemscontrol

解决方案


设置Rows属性而不是Columns

<ItemsPanelTemplate>
    <UniformGrid Rows="1"/>
</ItemsPanelTemplate>

推荐阅读