WPF - ListView - GridView - 从 .xaml.cs 文件访问命令参数

本文关键字:文件 访问 参数 cs 命令 xaml ListView GridView WPF | 更新日期: 2023-09-27 17:56:51

我正在使用listview containgridview来绑定数据。我如何使用我的.cs文件中按钮上的命令参数。该按钮存在于我的网格视图中。以及如何在按钮单击事件中按我的.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>

WPF - ListView - GridView - 从 .xaml.cs 文件访问命令参数

您需要创建一个CommandICommand 的子类)并为其设置按钮命令属性。

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

如果您只对此UserId字段感兴趣,而对命令的其他功能(如CanExecute等)不感兴趣,则可以使用按钮的Tag属性,因为您可以通过隐藏的代码获取此属性。

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

在您的button1_click活动中,您可以只访问

var UserID = ((Button)sender).Tag; //cast the actual button in the grid