-1

データをバインドするために listview を含む gridview を使用しています。.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>
4

1 に答える 1

0

Command(のサブクラス)を作成し、ICommandボタン コマンド属性をそれに設定する必要があります。

クリックイベントを使用しているため、イベントを処理するときにコマンドパラメーターが使用できるとは思えません。

この 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
于 2013-01-31T09:11:06.640 に答える