WPF之ListView样式_去列表头

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要锁定WPFListView表头,你可以使用ListView的ScrollViewer属性。具体步骤如下: 1. 首先,你需要为ListView控件添加ScrollViewer属性。可以在XAML代码中添加以下代码: ``` <ListView ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto"> ``` 2. 接下来,你需要将ListView表头放在一个单独的Grid中。可以在XAML代码中添加以下代码: ``` <ListView> <ListView.View> <GridView> <GridViewColumn Header="Column 1" Width="100"/> <GridViewColumn Header="Column 2" Width="100"/> <GridViewColumn Header="Column 3" Width="100"/> </GridView> </ListView.View> <ListView.Items> <ListViewItem Content="Item 1"/> <ListViewItem Content="Item 2"/> <ListViewItem Content="Item 3"/> </ListView.Items> </ListView> ``` 3. 最后,你需要将表头放在一个单独的Grid中,并将这个Grid的高度设置为ListView表头高度。可以在XAML代码中添加以下代码: ``` <ListView ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto"> <ListView.View> <GridView> <GridViewColumn Header="Column 1" Width="100"/> <GridViewColumn Header="Column 2" Width="100"/> <GridViewColumn Header="Column 3" Width="100"/> </GridView> </ListView.View> <ListView.Items> <ListViewItem Content="Item 1"/> <ListViewItem Content="Item 2"/> <ListViewItem Content="Item 3"/> </ListView.Items> <ListView.Resources> <Style TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type GridViewColumnHeader}"> <Grid> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <ContentPresenter Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/> </Border> <Canvas> <Thumb x:Name="PART_HeaderGripper" Width="18" Height="18" Margin="-9,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" Cursor="SizeWE"/> </Canvas> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListView.Resources> <ListView.Template> <ControlTemplate TargetType="{x:Type ListView}"> <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="{Binding ActualHeight, ElementName=PART_Header}"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid Grid.Row="0" Background="{Binding Background, ElementName=PART_Header}"> <GridViewHeaderRowPresenter x:Name="PART_Header" Margin="2,0,2,0" Columns="{Binding Path=TemplatedParent.View.Columns, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderContainerStyle="{Binding Path=TemplatedParent.View.ColumnHeaderContainerStyle, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderTemplate="{Binding Path=TemplatedParent.View.ColumnHeaderTemplate, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderTemplateSelector="{Binding Path=TemplatedParent.View.ColumnHeaderTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" AllowsColumnReorder="{Binding Path=TemplatedParent.View.AllowsColumnReorder, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderContextMenu="{Binding Path=TemplatedParent.View.ColumnHeaderContextMenu, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderToolTip="{Binding Path=TemplatedParent.View.ColumnHeaderToolTip, RelativeSource={RelativeSource TemplatedParent}}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </Grid> <ScrollViewer Grid.Row="1" Padding="{TemplateBinding Padding}" Focusable="False"> <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </ScrollViewer> </Grid> </Border> </ControlTemplate> </ListView.Template> </ListView> ``` 这样就可以实现WPFListView锁定表头的效果了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值