当前位置:   article > 正文

【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header_wpf listview 禁止头部拖动

wpf listview 禁止头部拖动

一个ListView的MVVM简单例子:

<ListView ItemsSource="{Binding GoodsList}" Margin="0,10,0,10">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="套餐编号" Width="120" DisplayMemberBinding="{Binding packageNo}" />
            <GridViewColumn Header="数量" Width="120" DisplayMemberBinding="{Binding num}" />
            <GridViewColumn Header="单价" Width="120" DisplayMemberBinding="{Binding price}" />
            <GridViewColumn Header="总金额" Width="120" DisplayMemberBinding="{Binding totalAmount}" />
            <GridViewColumn Header="选择" Width="120">
                <!-- 可以定义Cell的模板 -->
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <!--<TextBlock Text="{Binding Mail}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" />-->
                        <RadioButton GroupName="package" Checked="RadioButton_Checked"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

运行后效果如下(未填充任一条目):
这里写图片描述


发现问题:用户可以自由拖拽以改变头部的宽度!需要禁止这一操作。

给< GridView >设置它的头部样式为禁用即可,代码如下:

<GridView.ColumnHeaderContainerStyle>
    <Style TargetType="{x:Type GridViewColumnHeader}">
        <Setter Property="IsEnabled" Value="False"/>
    </Style>
</GridView.ColumnHeaderContainerStyle>
  • 1
  • 2
  • 3
  • 4
  • 5

重要参考:
(谷歌搜wpf lock listview header

http://stackoverflow.com/questions/181956/prevent-user-from-resizing-columns-with-wpf-listview

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/537702
推荐阅读
相关标签
  

闽ICP备14008679号