C#とWPFを利用して、DataGridの行の中でButtonを使う方法をまとめてみました。
対象は、Visual Studio 2022, .NET 7.0, Windows 7以上 です。
MVVMは使いません。Windows Formsではありません。
こちらの記事「【C# WPF】DataGridの使い方の基礎」で作ったDataGridの行の中にボタンを加えてみます。
できあがると、下の画像のようになります。
「行の削除」というボタンを各行の中に追加してあります。このボタンをクリックすると、その行だけを削除する仕様にします。
XAMLでDataGridの行にButtonを定義
それでは、XAMLを書いていきます。行に追加するので、DataGrid.Columnsの中に書きます。
まず、DataGridTemplateColumnを書き、つぎに DataGridTemplateColumn.CellTemplate、そして DataTemplateを書きます。
そして、Buttonを追記します。DataGridの行の中にかく場合でも特に変わった記述はありません。普通にButtonの定義を記入します。
行の中のButtonをクリックされた時の処理
コードビハインドとして「MainWindow.xaml.cs」にButtonをクリックされた時の処理を記述します。
今回は、クリックされた行を削減するという仕様にしますので、まず、どの行を削除すべきなのかという情報が必要になります。
そこで、IndexOf()メソッドとCurrentItemプロパティの組み合わせで現在の行の番号を取得します。
取得した行番号でRemoveAt()メソッド実行すると行が削除できます。
コメント