【问题标题】:WPF - ListView - GridView - Access CommandParameter from .xaml.cs fileWPF - ListView - GridView - 从 .xaml.cs 文件访问 CommandParameter
【发布时间】:2013-01-31 08:58:22
【问题描述】:

我正在使用包含gridview 的listview 来绑定数据。 如何使用 .cs 文件中按钮上的 CommandParameter。该按钮出现在我的网格视图中。还如何在按钮单击事件中通过 .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>

【问题讨论】:

    标签: c# .net wpf listview gridview


    【解决方案1】:

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

    您正在使用点击事件,所以我怀疑命令参数在您处理事件时是否可用。

    如果您只对这个 UserId 字段感兴趣,而不对 Command 的其他功能(如 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
    

    【讨论】:

    • 感谢您的回答。现在我对 UserId 感兴趣。但是,正如您所说,我如何在命令的其他功能中使用命令参数。另外我如何将两个或多个值传递给按钮标签属性。任何帮助。
    • @Mahesh 这并不是一个直接的方法。但是,如果您遇到问题,我相信您将能够轻松找到答案。
    猜你喜欢
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多