【发布时间】:2021-02-24 23:29:32
【问题描述】:
我正在将 WPF 应用升级到 UWP,但我一直在升级 DataGrid 控件。 我正在尝试升级 System.Windows.Controls.DataGrid(旧的 WPF 控件)-> Microsoft.Toolkit.Uwp.UI.Controls.DataGrid(新的 MS 推荐的社区控件)
旧版本运行良好。它从 .NET DataTable 填充网格。 XAML:
<DataGrid SelectionMode="Single" SelectionChanged="dataGridSongs_SelectionChanged" BorderThickness="1" BorderBrush="LightGray" Margin="0 0" IsReadOnly="True" GridLinesVisibility="None" Name="dataGridSongs" ItemsSource="{Binding}">
</DataGrid>
后面的代码:
public MainWindow()
{
initializing = true;
InitializeComponent();
DataTable dt = dbHelper.GetAllSongs();
dataGridSongs.DataContext = dt.DefaultView;
dataGridSongs.HeadersVisibility = DataGridHeadersVisibility.None;
initializing = false;
}
新的 UWP DataGrid 给我一个错误: “BindingExpression 路径错误:在‘System.Data.DataRowView’上找不到‘Item’属性” 网格中填充了一些奇怪的数据:
新的 UWP 应用 XAML:
<controls:DataGrid x:Name="dataGridSongs" ItemsSource="{Binding}">
</controls:DataGrid>
后面的代码:
public MainPage()
{
initializing = true;
this.InitializeComponent();
DataTable dt = dbHelper.GetAllSongs();
dataGridSongs.DataContext = dt.DefaultView;
//dataGridSongs.ItemsSource = dt.DefaultView;
}
我假设我用错误的对象填充网格,但是,我找不到这个简单场景的任何示例。
【问题讨论】: