WPF DataGrid添加自定义操作列

WPF页面有个DataGrid列表,需要为在最后加一列操作列从而实现对每一行记录的自定义操作

  1. 页面xaml内容(样式组件引用的是metro.mahapps)
<DataGrid x:Name="stuList" ItemsSource="{Binding}" SelectionUnit="FullRow" Style="{StaticResource GridStyle}"  AutoGenerateColumns="False" >
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Path=studentNo}" Width="auto" Header="学号" />
        <DataGridTextColumn Binding="{Binding Path=studentName}" Width="auto" Header="学生姓名"/>
        <DataGridTextColumn Binding="{Binding Path=gender}" Width="auto" Header="性别"/>
        <DataGridTextColumn Binding="{Binding Path=clazz}" Width="auto" Header="班级" />
        <DataGridTextColumn Binding="{Binding Path=age}" Width="auto" Header="年龄" />
        <DataGridTextColumn Binding="{Binding Path=createTime}" Width="auto" Header="创建时间"/>
        <DataGridTemplateColumn x:Name="dgOperate" Width="300" Header="操作" >
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel  Orientation="Horizontal">
                        <controls:Tile Name="btnSearch" Height="40" Width="80" Margin="20,0,0,0" Click="btnEdit_Click" HorizontalAlignment="Left" Style="{StaticResource FlatBtnStyle}">
                            <Label Style="{StaticResource ButtonFontStye}" FontSize="15" Content="编辑" />
                        </controls:Tile>
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellStyle>
                <Style TargetType="DataGridCell">
                    <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="true">
                            <Setter  Property="Background" Value="White"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </DataGridTemplateColumn.CellStyle>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>
  1. cs方法(编辑按钮操作)
private void btnEdit_Click(object sender, RoutedEventArgs e) {
    StudentDto dto = taskList.SelectedItem as StudentDto;
    if (dto == null) {
        throw new UserMessage("请选择一条记录进行操作!");
    }
	// 。。。 此处自定义代码部分省略
}
  1. StudentDto实体类,只有几个基础字段,和xaml中字段一致,略
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值