[.net] WPF ListView의 헤더를 숨기려면 어떻게해야합니까?
WPF ListView의 각 그리드 열 상단에있는 헤더를 숨길 수 있기를 원합니다.
이것은 내 ListView의 XAML입니다.
<Window x:Class="ListViewTest.Test0.ListViewTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Empty ListView Grid" Height="216" Width="435" FlowDirection="LeftToRight" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.IsSharedSizeScope="False">
<Window.Resources>
<XmlDataProvider x:Key="CustomersDS" Source="C:\data.xml"/>
</Window.Resources>
<ListView Margin="0,0,0,50" ItemTemplate="{DynamicResource CustomerTemplate}" ItemsSource="{Binding Source={StaticResource CustomersDS}, XPath=/Customers/Customer}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding XPath=Code}"/>
<GridViewColumn DisplayMemberBinding="{Binding XPath=Name}"/>
<GridViewColumn DisplayMemberBinding="{Binding XPath=Country}"/>
</GridView>
</ListView.View>
</ListView>
</Window>
이것을 바인딩하는 데이터는 다음과 같습니다.
<Customers>
<Customer>
<Code>1234</Code>
<Name>EPI</Name>
<Country>Sesame Street</Country>
</Customer>
<Customer>
<Code>3234</Code>
<Name>Paul</Name>
<Country>United Kingdom</Country>
</Customer>
<Customer>
<Code>3344</Code>
<Name>Juan</Name>
<Country>Spain</Country>
</Customer>
<Customer>
<Code>4321</Code>
<Name>Dodo</Name>
<Country>Mars</Country>
</Customer>
</Customers>
답변
이렇게 스타일을 정의
<Window.Resources>
....
<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</Window.Resources>
이렇게 바르세요
<GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
....
</GridView>
답변
이 솔루션에 감사드립니다. 다음 Style
과 같이 인라인을 넣을 수도 있습니다 .
<ListView>
<ListView.Resources>
<Style TargetType="GridViewColumnHeader">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<!-- ... -->
</GridView>
</ListView.View>
</ListView>
(또한 {x:Type}
사용한 표기법이 필요하지 않은 것 같습니다)
답변
Ray의 솔루션을 적용 할 수있는 또 다른 방법은 다음과 같습니다.
<ListView>
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="GridViewColumnHeader">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</GridView.ColumnHeaderContainerStyle>
</GridView>
</ListView.View>
</ListView>
솔루션은 자동으로 적용되는 리소스를 생성하지 않고 스타일 속성을 직접 설정합니다. 더 낫다는 말이 아니라 다른 방법으로 …