私はMVVMを使用して私の最初のアプリをやっています。私は、 "ビュー"で宣言されたDatagridを持っています。コードXAML以下:MVVMを使用してDataGridから選択した項目に関する情報を渡す方法
私のViewModelクラスで
<DataGridTemplateColumn Header="delete"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Button Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type> UserControl},Mode=FindAncestor}, Path=DataContext.ClickCommand}"> Content="X" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns>> </DataGrid>
私はコードの一部で、私は "削除" クリックボタンの後に欲しい機能を実行することができます。
public ICommand ClickCommand => _clickCommand ?? (_clickCommand = new CommandHandler(Delete, _canExecute)); public void Delete() { // DataTable.Rows.RemoveAt(); }
selectet行のインデックスを取得できないため、問題があります。 DataGridのデータソースはdataTableです。
どうすればいいですか?
ボタンのコマンドでパラメータを渡して何かを試しましたが、動作させることができませんでした。
CMDそれも笑えるなってきた:行2のボタンをクリックしながら、あなたは1行を選択することができます - ので、あなたがより良い行毎に存在するボタン用に選択された行に依存しません。 – grek40