C# WPF-ListView-GridView-Access.xaml.cs文件中的CommandParameter

C# WPF-ListView-GridView-Access.xaml.cs文件中的CommandParameter,c#,.net,wpf,listview,gridview,C#,.net,Wpf,Listview,Gridview,我使用listview包含gridview来绑定数据。 如何使用.cs文件中的CommandParameter present on按钮。按钮出现在我的gridview中。还有如何在按钮单击事件中通过my.cs文件中的id标识每一行 我的代码: <ListView Name="listUsers" SelectionMode="Single" Height="200" SelectionChanged="listUsers_SelectionChanged"> <Lis

我使用listview包含gridview来绑定数据。 如何使用.cs文件中的CommandParameter present on按钮。按钮出现在我的gridview中。还有如何在按钮单击事件中通过my.cs文件中的id标识每一行

我的代码:

<ListView Name="listUsers" SelectionMode="Single" Height="200" SelectionChanged="listUsers_SelectionChanged">
    <ListBoxItem></ListBoxItem>
    <ListView.View>
        <GridView AllowsColumnReorder="true">
            <GridViewColumn Header="User Id" DisplayMemberBinding="{ Binding Path=UserId }"></GridViewColumn>
            <GridViewColumn Header="Name" DisplayMemberBinding="{ Binding Path=UserName }"></GridViewColumn>
            <GridViewColumn Header="Email Id" DisplayMemberBinding="{ Binding Path=Email }"></GridViewColumn>
            <GridViewColumn Header="Mobile" DisplayMemberBinding="{ Binding Path=Mobile }"></GridViewColumn>
            <GridViewColumn Header="Update" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Button Height="23" Name="button1" CommandParameter="{ Binding Path=UserId }" Click="button1_Click" Width="75">Button</Button>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

按钮

您需要创建一个
命令(
ICommand
的子类),并将按钮命令属性设置为该命令

您正在使用click事件,因此我怀疑在处理该事件时命令参数是否可用

如果您只对这个UserId字段感兴趣,而对命令的其他功能(如CanExecute等)不感兴趣,那么您可以使用按钮的Tag属性,因为您可以通过后面的代码获得它

 <Button Height="23" Name="button1" Tag="{Binding Path=UserId }" Click="button1_Click" Width="75">Button</Button>

谢谢你的回答。现在我对UserId感兴趣。但是,正如您所说,我如何在命令的其他功能中使用命令参数。以及如何将两个或多个值传递给按钮标记属性。任何帮助。@Mahesh这不是一个直接的方法。但如果你遇到问题,我相信你会很容易找到答案。
var UserID = ((Button)sender).Tag; //cast the actual button in the grid