私は持っていDataGrid
ます。しかし、イベントでフォーカスされたセル値を取得したいですCopyingRowClipboardContent
。しかしe.ClipboardRowContent
、SelectionUnit
. また、データグリッドの選択単位を変更してはいけません。問題を解決するには、フォーカスされたセル列番号を取得する必要があります。次に、からすべての列の値を削除しますclipboarcContent
。CopyingRowClipboardContent
イベントでフォーカスされたセルを取得するにはどうすればよいですか?
質問する
16204 次
4 に答える
19
Farhadの回答の改良版
private void DataGrid_CopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
{
var currentCell = e.ClipboardRowContent[ dataGrid.CurrentCell.Column.DisplayIndex];
e.ClipboardRowContent.Clear();
e.ClipboardRowContent.Add( currentCell );
}
于 2013-08-22T11:57:00.180 に答える
5
クリップボードの内容を制御するために、次のコードを使用することもできます。
Clipboard.SetText("some value");
于 2012-09-20T12:25:52.703 に答える
1
私は解決策を見つけます。まず、フォーカスされたセルの列番号が必要です。私はこのコードでそれを得ることができました:
DataGridResults.CurrentCell.Column.DisplayIndex;
その後、CopyingRowClipboardContent
他のすべての列の値を削除する必要があります。
private void DataGridResults_CopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
{
int y = 0;
for (int i = 0; i < e.EndColumnDisplayIndex; i++)
{
if (i != DataGridResults.CurrentCell.Column.DisplayIndex)
{
e.ClipboardRowContent.RemoveAt(i - y);
y++;
}
}
}
于 2012-09-20T11:57:53.973 に答える