在 WPF ListView 中添加垂直分隔符的正确方法是什么

Chr*_*ver 1 wpf xaml

我需要在 WPF XAML ListView 中添加某种垂直分隔符。目前我的代码如下所示:

<GridViewColumn Width="10" x:Name="seperator">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <Border BorderBrush="#FF000000" BorderThickness="1,0,1,0" Margin="-6,-2,-6,-2">
                <Grid Background="Black" Margin="-1, -14, -1, -14"/>
            </Border>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>
Run Code Online (Sandbox Code Playgroud)

感觉填充列的背景或在右/左设置边框应该更容易。我发现的结果似乎是动态的或针对行的。

Rog*_*anc 5

这将使用默认的工具栏样式创建垂直分隔符,但如果您愿意,也可以使用自己的样式。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>

    <StackPanel Grid.Column="1" Orientation="Horizontal">
        <Separator Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

  • 对于 [MahApps](https://mahapps.com/),可以使用:`&lt;Separator " Style="{StaticResource MahApps.Styles.Separator.StatusBar}"/&gt;` (3认同)