PR

【C# WPF】DataGridの行の中でButtonを使う方法

C#

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の中に書きます。

MainWindow.xaml.cs

まず、DataGridTemplateColumnを書き、つぎに DataGridTemplateColumn.CellTemplate、そして DataTemplateを書きます。
そして、Buttonを追記します。DataGridの行の中にかく場合でも特に変わった記述はありません。普通にButtonの定義を記入します。

行の中のButtonをクリックされた時の処理

コードビハインドとして「MainWindow.xaml.cs」にButtonをクリックされた時の処理を記述します。

MainWindow.xaml.cs

今回は、クリックされた行を削減するという仕様にしますので、まず、どの行を削除すべきなのかという情報が必要になります。

そこで、IndexOf()メソッドとCurrentItemプロパティの組み合わせで現在の行の番号を取得します。

取得した行番号でRemoveAt()メソッド実行すると行が削除できます。

コメント

スポンサーリンク
タイトルとURLをコピーしました