zoukankan      html  css  js  c++  java
  • 【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header

    一个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>

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


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

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

    <GridView.ColumnHeaderContainerStyle>
        <Style TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="IsEnabled" Value="False"/>
        </Style>
    </GridView.ColumnHeaderContainerStyle>

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

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

  • 相关阅读:
    TCP三次握手与四次挥手
    centos7快捷键
    关于学习简单讲解的个人观点
    继承与派生
    python封装
    python之面向对象编程
    python之re模块
    python之hashlib、suprocess模块
    python之shelve、xml、configparser模块
    python之json、pickle模块
  • 原文地址:https://www.cnblogs.com/guxin/p/wpf-listbox-mvvm-example.html
Copyright © 2011-2022 走看看