4

私は WPF XamDataGrid (MVVM パターン、以下の xaml を使用しています) を持っており、ユーザーが行をダブルクリックしたときにレコードの詳細を別のウィンドウに表示する必要があります。私は仕事を終わらせるコマンドを持っていますが、ボタンのように起動する方法がわかりません。ユーザーが行をダブルクリックしたときにコマンドを実行できるようにしたいので、ダブルクリックした行 (またはその ID) をパラメーターとしてコマンドに送信する必要があります。出来ますか?

<igDP:XamDataGrid DataSource="{Binding SomeList}">
            <igDP:XamDataGrid.FieldLayoutSettings>
                <igDP:FieldLayoutSettings AutoGenerateFields="False"/>
            </igDP:XamDataGrid.FieldLayoutSettings>
            <igDP:XamDataGrid.FieldLayouts>
                <igDP:FieldLayout >
                    <igDP:FieldLayout.Fields>
                        <igDP:Field  Name="ObjectId" Label="Id" Width="Auto"/>
                        <igDP:Field  Name="Description" Label="Object Description" Width="Auto"/>
                    </igDP:FieldLayout.Fields>
                </igDP:FieldLayout>
            </igDP:XamDataGrid.FieldLayouts>
        </igDP:XamDataGrid>
4

3 に答える 3

6

私もMVVMパターンを使用し、次のように書きます。

<igDP:XamDataGrid ItemsSource={Binding Path=StaffList, Mode=OneWay}>
  ...
  <igDP:XamDataGrid.InputBindings>
    <MouseBinding MouseAction="LeftDoubleClick" 
                  Command="{Binding Path=EditStaffCommand, Mode=OneWay}" 
                  CommandParameter="{Binding Path=DataItem}"/>
  </igDP:XamDataGrid.InputBindings>
  ...
</igDP:XamDataGrid>

WhereEditStaffCommandおよびStaffList- ビュー モデルのプロパティ

于 2012-04-13T10:01:09.040 に答える
2

添付コマンドの動作 ( http://marlongrech.wordpress.com/2008/12/13/attachedcommandbehavior-v2-aka-acb/ ) をご覧ください。コマンドをイベントにバインドできます。

于 2012-03-29T14:31:02.617 に答える
0

ViewModel の Command と Grid の Double Click イベントの間にバインドを追加する動作を作成できます。

詳細については、次の投稿を参照してください。

http://blogs.infragistics.com/forums/p/67749/343013.aspx#343013

于 2012-04-05T20:44:48.217 に答える