WPF

[ wpf ] Remove ListView Header Separator Line 리스트뷰 헤더 분리선 없애기

code094 2021. 7. 9. 15:37

리스트뷰 헤더 분리선 없애기 전 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<Window x:Class="eaxm.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="50"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <DockPanel Grid.Column="0">
            <ListView x:Name="Listview" Margin="15">
                <ListView.View>
                    <GridView>
                        <GridView.Columns>
                            <GridViewColumn Width="50">
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <CheckBox IsChecked="{Binding Path=IsSelected}">
 
                                        </CheckBox>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <GridViewColumn DisplayMemberBinding="{Binding name}" Header="name" Width="100"/>
                            <GridViewColumn DisplayMemberBinding="{Binding age}" Header="age" Width="100"/>
 
                        </GridView.Columns>
                    </GridView>
                </ListView.View>
            </ListView>
        </DockPanel>
    </Grid>
</Window>
 
cs

 

리스트뷰 헤더 분리선 없애기 

아래 소스 추가 

1
2
<ListView x:Name="Listview" Height="Auto" Margin="10" BorderBrush="Transparent"
          ItemsSource="{Binding ReferenceCollection}" BorderThickness="0">
cs
1
2
3
4
5
6
7
8
9
10
11
 <ListView.Resources>
                    <Style x:Key="GridHeader" TargetType="{x:Type GridViewColumnHeader}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
                                    <TextBlock Text="{TemplateBinding Content}" Padding="5" Width="{TemplateBinding Width}"  />
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
 </ListView.Resources>
cs
1
<GridView ColumnHeaderContainerStyle="{StaticResource GridHeader}">
cs

 

 

전체소스 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<Window x:Class="eaxm.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="50"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <DockPanel Grid.Column="0">
            <ListView x:Name="Listview" Height="Auto" Margin="10" BorderBrush="Transparent"
          ItemsSource="{Binding ReferenceCollection}" BorderThickness="0">
                <ListView.Resources>
                    <Style x:Key="GridHeader" TargetType="{x:Type GridViewColumnHeader}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
                                    <TextBlock Text="{TemplateBinding Content}" Padding="5" Width="{TemplateBinding Width}"  />
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </ListView.Resources>
                <ListView.View>
                    <GridView ColumnHeaderContainerStyle="{StaticResource GridHeader}">
                        <GridView.Columns>
                            <GridViewColumn Width="50">
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <CheckBox IsChecked="{Binding Path=IsSelected}">
 
                                        </CheckBox>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <GridViewColumn DisplayMemberBinding="{Binding name}" Header="name" Width="auto"/>
                            <GridViewColumn DisplayMemberBinding="{Binding age}" Header="age" Width="auto"/>
                        </GridView.Columns>
                    </GridView>
                </ListView.View>
            </ListView>
        </DockPanel>
    </Grid>
</Window>
 
cs