WPF List View 用法

效果:


XAML:

<ListView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="4" Margin="10">
                        <ListView.View>
                            <GridView>
                                <GridViewColumn Header="序号" Width="40" />
                                <GridViewColumn Header="动作" Width="100"/>
                                <GridViewColumn Header="轴" Width="100" />
                                <GridViewColumn Header="坐标"  Width="200" />

                            </GridView>
                        </ListView.View>
                    </ListView>

如何添加一行数据:

 假设我们的Listview控件名称是lvActionEditList

先定义一个结构体

struct mhAction
        {
            private string num;
            private string action;
            private string axis;
            private string pos;
            private string value;

            public mhAction(string v1, string v2, string v3, string v4, string v5) : this()
            {
                this.num = v1;
                this.action = v2;
                this.axis = v3;
                this.pos = v4;
                this.value = v5;
            }
        }

添加一条数据到ListView

 lvActionEditList.Items.Add(new mhAction("0","MOV","8,9,10,11","500,450,500,500","0"));

会显示成这样是因为尚未将数据进行绑定


回到XAML编辑界面,根据结构体名称,绑定数据:

<ListView x:Name="lvActionEditList" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="4" Margin="10">
                        <ListView.View>
                            <GridView>
                                <GridViewColumn Header="序号" Width="40" DisplayMemberBinding="{Binding num}"/>
                                <GridViewColumn Header="动作" Width="100" DisplayMemberBinding="{Binding action}"/>
                                <GridViewColumn Header="轴" Width="100" DisplayMemberBinding="{Binding axis}"/>
                                <GridViewColumn Header="坐标"  Width="200" DisplayMemberBinding="{Binding pos}"/>
                                <GridViewColumn Header="参数"  Width="100" DisplayMemberBinding="{Binding value}"/>

                            </GridView>
                        </ListView.View>
                    </ListView>

显示出来是空白的,因为我们必须要手动重写结构体声明的部分,加上{get;set;},还需要把结构体这边的私有改为公有

struct mhAction
        {
            public string num { get; set; }
            public string action { get; set; }
            public string axis { get; set; }
            public string pos { get; set; }
            public string value { get; set; }

            public mhAction(string v1, string v2, string v3, string v4, string v5) : this()
            {
                this.num = v1;
                this.action = v2;
                this.axis = v3;
                this.pos = v4;
                this.value = v5;
            }
        }


如果要居中显示数据,在XAML文件添加自定义风格的描述

 <Window.Resources>
        <Style x:Key="ListViewItemStyle" TargetType="{x:Type ListViewItem}">
            <Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
        </Style>
    </Window.Resources>

应用在ListView上面,修改ListView描述

 <ListView x:Name="lvActionEditList" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="4" Margin="10" ItemContainerStyle="{StaticResource ResourceKey=ListViewItemStyle}">

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值