WPF で DataGrid.Rows が見つからず苦労しています。

以下の方法で DataGrid の内容を取得できましたが、もっとシンプルな方法があると思っています。 Columns["name"] のように特定の列を指定して取得する方法もわかりますでしょうか。

dg は XAML の <DataGrid x:Name=...> です。

   for (int i = 0; i < dg.Items.Count; i++)
    {
        DataGridRow row = (DataGridRow)dg.ItemContainerGenerator.ContainerFromIndex(i);
            for (int j = 0; j < dg.Columns.Count; j++)
            {
                TextBlock cellContent = dg.Columns[j].GetCellContent(row) as TextBlock;
                Console.WriteLine(cellContent.Text);
            }
    }