【问题标题】:UWP Community Toolkit DataGrid: cannot declare columnsUWP 社区工具包 DataGrid:无法声明列
【发布时间】: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


【解决方案1】:

VS2017的SDK最高版本是17763,所以我建议你可以安装VS2019来拥有更高版本的sdk。或者您可以降低 Community Toolkit 版本,使其支持更多 windows SDK 版本。

如果您不想像上面那样做这些,团队正在积极回答有关 WindowsCommunityToolkit here 的问题,您可以在这里报告您的问题,这将帮助您快速获得更多帮助。

【讨论】:

    猜你喜欢
    • 2020-03-20
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 2017-12-17
    • 2019-03-17
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多