WPF UnifromGrid:如何像在资源管理器中一样设置带有圆角的选定子项的样式



这是之前提出的一个问题的链接,它与树视图有关:

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>

相关内容

  • 没有找到相关文章

最新更新