简体   繁体   English

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

[英]What is the correct way to add a vertical separator in a WPF ListView

I need to add a vertical separator of some kind in a WPF XAML ListView. 我需要在WPF XAML ListView中添加某种垂直分隔符。 Currently my code looks like this: 目前,我的代码如下所示:

<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>

It feels like it should be easier to either fill the background of the column or set a border on the right/left. 感觉应该更容易填充列的背景或在左右两侧设置边框。 The results I've found seem to be dynamic or for rows. 我发现的结果似乎是动态的或行。

This will create a vertical separator using default ToolBar style, but you can use your own style if you prefer. 这将使用默认的ToolBar样式创建垂直分隔符,但您可以根据需要使用自己的样式。

<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>

The easiest way is to use border 最简单的方法是使用边框

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Border Grid.Column="1" Background="Grey" Width="1" Margin="10,0" />
</Grid>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM