0

这是之前提出的问题的链接,该问题涉及 TreeView:

WPF TreeView:如何在资源管理器中设置带有圆角的选定项目的样式

这也是另一个问题的另一个链接,它涉及一个 ListView:

WPF ListView:如何在资源管理器中设置带有圆角的选定项目的样式

我的问题是:如何在 UniformGrid 上迁移此解决方案?因为我想在我的 UniformGrid 单元格上获得与 2 个示例中所示相同的效果。

这是我的源代码示例:

<Grid VerticalAlignment="Center" HorizontalAlignment="Center" >
    <ItemsControl ItemsSource="{Binding ChildrenList}"  BorderThickness="0"  
        HorizontalContentAlignment="Center" VerticalContentAlignment="Center" >
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid Columns="{Binding NumberOfColumns}" HorizontalAlignment=
                    "Center" Background="Transparent" Margin="4,4,4,4" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
</Grid>
4

1 回答 1

1

你已经成功了一半:)

您需要使用 aListBox而不是 an ItemsControl(因为ItemsControl不处理选择并且没有“选定项目”之类的东西)。

然后,您使用与ItemsPanel示例中相同的内容,并且与链接到ItemContainerStyleListView帖子中的内容相同(注意:只需确保将内容从“ItemsControl”/“ListView”和“ListViewItem”重命名为“ListBox”和“ListBoxItem”) :

<ListBox ItemsSource="{Binding ChildrenList}" >
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Columns="{Binding NumberOfColumns}" />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>

    <!-- NOTE: "ListBox" and "ListBoxItem": -->
    <ListBox.ItemContainerStyle>
        <Style TargetType="{x:Type ListBoxItem}">
            ...
        </Style>
    </ListBox.ItemContainerStyle>

</ListBox>
于 2013-10-08T20:06:01.293 回答