【发布时间】:2021-06-09 09:03:06
【问题描述】:
我最近将 Community Toolkit 移至 v7.0.2。此后,DataGrid 无法声明 Columns。 我收到“无法将 DataGridTextColumn 添加到 ObservableCollection。找不到元素。”
我将请求的更改应用于 app.xaml 资源声明。我还从源代码中删除了 DataGrid 引用并重新构建,但无济于事......这个似乎卡住了。
以下是相关的 XAML 声明:
<Page
...
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
/>
<controls:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding ...}" >
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
</controls:DataGrid.Columns>
</controls:DataGrid>
这似乎是 Toolkit 内部的一项重大更改,因为在此错误发生之前我的代码尚未更改。
有什么想法吗?构建缓存中某处的人工制品?运行VS2017-15.9.33
【问题讨论】:
-
我在 VS2019 上使用 Microsoft.Toolkit.Uwp.UI.Controls 7.0.2 创建了一个 DataGrid,DataGridTextColumn 在我这边运行良好。我的建议是您可以创建一个新的空白应用程序并重新安装该软件包,然后引用它。如果新应用仍然有错误,您可以通过 OneDrive 或 GitHub 向我们提供示例进行测试。此外,Package 引用不需要在 app.xaml 资源中声明,您只需在页面顶部添加它的引用即可。
-
谢谢。我可能只是卸载 VS2017 并重新安装全部以查看某处是否存在损坏的缓存...会及时通知您。顺便说一句,请从自述文件中删除对 app.xaml 更改的引用,这只是造成了不必要的工作,而且是一个红鲱鱼。谢谢。
-
不行。这是骨架 UWP 解决方案:github.com/jhwheuer/TestDataGrid。不适用于我在初始上传中提到的错误代码。
-
我已经测试了您的示例,报告“Microsoft.UI.Xaml nuget package requires TargetPlatformVersion >= 10.0.18362.0 (current project is 17763)”。于是我将项目的目标版本改为最新版本(19041),代码运行良好。
-
哦,这很有趣,因为我在 CS2017 的可用 SDK 中没有看到 18362。我在哪里可以获得该版本?
标签: xaml uwp datagrid windows-community-toolkit