在DataGrid中实现Button Command绑定

在DataGrid中实现Button Command绑定


Command="{Binding editCommand}" 会默认查找UserList中对象的属性,而你的UserList中对象应该不包括editCommand属性;
可以尝试:
Command="{Binding DataContext.editCommand,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Windows}}}"

 

复制代码
<DataGrid ItemsSource="{Binding UserList}" Name="PregnantDataGrid" 
          IsReadOnly="True" 
          AutoGenerateColumns="False" HeadersVisibility="All" >
    <DataGrid.Columns> 
        <DataGridTextColumn Width="150" Header="姓名"  Binding="{Binding realName}" />
        <DataGridTextColumn Width="100" Header="手机号" Binding="{Binding phoneNo}" /> 
        <DataGridTemplateColumn Width="60" CanUserResize="False" Header="操作">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <DockPanel HorizontalAlignment="Left" Margin="5,0,0,0">
                        <Button Content="编辑" Margin="5" Width="80" 
                        Command="{Binding DataContext.editCommand,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}}" CommandParameter="{Binding}" />
                    </DockPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>
复制代码

 

复制代码
public class VmUser : ViewModelBase
{
    public VmUser()
    {
    EditCommand = new RelayCommand(EditCommandMethod, CanEditExecute);
    }


    public RelayCommand EditCommandMethod { get; set; }

    private void EditCommandMethod(object param)
    {
        var obj = param as UserInfo;
        MessageBox.Alert(obj.UserName);
    }

    private bool CanEditExecute(object obj)
    {
        return true;
    }
}
复制代码

 

posted @   VipSoft  阅读(230)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2020-06-01 Sublime Json 格式化
2020-06-01 Sublime Text 汉化 中文
2020-06-01 Sublime Text 查找的内容 高亮显示
2012-06-01 Flash Builder4.5安装破解
点击右上角即可分享
微信分享提示