这是之前提出的一个问题的链接,它与树视图有关:
WPF 树视图:如何像在资源管理器中那样使用圆角设置所选项的样式
这也是另一个问题的另一个链接,该问题涉及ListView:
WPF 列表视图:如何像在资源管理器中那样设置带有圆角的选定项的样式
我的问题是:如何在统一网格上迁移此解决方案?因为我想在我的 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>
你已经走了一半:)
您需要使用ListBox
而不是ItemsControl
(因为ItemsControl
不处理选择,也没有"选定项"之类的东西)。
然后,您使用与示例中相同的ItemsPanel
,以及与您链接到的ListView
帖子中相同的ItemContainerStyle
(注意:只需确保将内容从"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>