2

我正在使用两个不同的 ItemsControl 来生成按钮列表。

<WrapPanel Orientation="Horizontal">
    <ItemsControl ItemsSource="{Binding Commands}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Command="{Binding}">
                <!-- ... -->
                </Button>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

    <ItemsControl ItemsSource="{Binding CurrentTransaction.Modifiers}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <ToggleButton IsChecked="{Binding IsEnabled}">
                <!-- ... -->   
                </ToggleButton>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</WrapPanel>

第二个 ItemsControl 的按钮出现在新的“行”上

在此处输入图像描述

是否有可能第二个 ItemsControl 的按钮直接出现在第一个 ItemsControl 的按钮之后?按钮的数量可能会有所不同。它应该如下所示:

在此处输入图像描述

4

1 回答 1

1

您可以将两个项目集合合并为一个,并且只有一个 ItemsControl 和一个ItemTemplateSelector,它为每个项目返回适当的 DataTemplate。

于 2012-12-21T16:02:02.213 回答