wpf listview列标题垂直线不对应于项垂直线

时间:2014-07-24 15:59:02

标签: wpf listview gridview

在我的wpf应用程序中,我有一个listView,其视图设置为gridView。我已经为列标题和项目单元格分别定义了边框,但它们没有相互内联。
如果我不太清楚,这里是问题的图像: enter image description here

款式如下:
- > GridView columnHeader:

<Style TargetType="{x:Type GridViewColumnHeader}" x:Key="style_header">        
        <Setter Property="BorderBrush">
            <Setter.Value>
                <ImageBrush ImageSource="/images/black_line.png"/>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
                    <Grid SnapsToDevicePixels="true">
                        <Border x:Name="HeaderBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,1,0,1" Background="{TemplateBinding Background}">
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition MaxHeight="7"/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>
                                <Rectangle x:Name="UpperHighlight" Fill="#FFE3F7FF" Visibility="Collapsed"/>
                                <Border Padding="{TemplateBinding Padding}" Grid.RowSpan="2">
                                    <ContentPresenter x:Name="HeaderContent" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="0,0,0,1" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                </Border>
                            </Grid>
                        </Border>
                        <Canvas>
                            <Thumb x:Name="PART_HeaderGripper" Style="{StaticResource GridViewColumnHeaderGripper}"/>
                        </Canvas>
                    </Grid>                    
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

- &GT; ListView项目:

<ListView x:Name="lstContent">
     <ListView.View>
            <GridView>                
                <!-- checkbox column -->
                <GridViewColumn HeaderContainerStyle="{StaticResource style_header}">
                    <GridViewColumn.Header>
                        <TextBlock Text=""/>
                    </GridViewColumn.Header>
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Border BorderBrush="{StaticResource imgBrushBorder}" BorderThickness="0,0,1,0" Margin="-6,-2,-6,-2">
                                <CheckBox Tag="{Binding Sync}" IsChecked="{Binding Sync}"  Style="{StaticResource style_chkManagement}"/>
                            </Border>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
               </GridView>
     </ListView.View>
</ListView>

这个是静态资源:

<ImageBrush x:Key="imgBrushBorder" ImageSource="/images/black_line.png"/>

问:有什么问题,如何解决?

任何帮助高度赞赏。

0 个答案:

没有答案