1

WPF フォームの DataGrid からセル値を取得しようとしています。

以下のコードは、行をうまくループします。

for (int i = 0; i < dataGrid.Items.Count; i++)
{
    DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(i);
    TextBlock cellContent = dataGrid.Columns[0].GetCellContent(row) as TextBlock;
    if (cellContent != null)
    {
        object item = dataGrid.Items[i];
        dataGrid.SelectedItem = item;
        dataGrid.ScrollIntoView(item);
        row.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
        break;
    }
}

しかし、私は少し立ち往生しています。セルの値だけが必要です。そして、 cellContent 値で Null しか取得しません。

他のすべての例では、列名を渡して値を選択しています....しかし、どのセルを選択するのかわかりません。したがって、クリックしたときにセルの値とともにヘッダーの値を取得する必要があります...またはセルを右クリックします。

何か案は?

4

1 に答える 1

0

これはテストしていませんが、データグリッドのSelectionUnitプロパティをCellに設定してみてください(デフォルトは FullRow です)。

于 2013-02-04T17:39:49.937 に答える