VS2019使用Gu.Wpf.DataGrid2D出现Attachable Property警告如何解决
解决方案
这个问题是Visual Studio 2019针对.NET Core 3.1 WPF项目的设计器固有局限导致的,运行时功能正常就说明你的代码逻辑没有问题,警告仅来自设计器对第三方附加属性的解析异常,可通过以下方法逐个排查解决:
- 修正XAML命名空间声明,使用完整带程序集的命名空间写法,避免使用自定义URI格式的简写:
正确的声明格式为xmlns:datagrid2d="clr-namespace:Gu.Wpf.DataGrid2D;assembly=Gu.Wpf.DataGrid2D",替换你当前页面顶部的对应命名空间声明即可。 - 给报错的附加属性添加设计时忽略标记,先确认页面已引入设计时命名空间
xmlns:d="http://schemas.microsoft.com/expression/blend/2008",然后在使用Array2D附加属性的标签上添加d:Ignore="True"属性,设计器会跳过对该属性的校验,不影响运行时的绑定逻辑。 - 启用.NET Core WPF 预览版设计器,打开Visual Studio 2019的「工具-选项-环境-预览功能」面板,勾选「使用适用于 .NET Core 的 WPF 设计器预览版」,重启Visual Studio后重新加载项目即可解决大部分第三方控件的设计器解析问题。
- 新增设计时模拟数据源兜底,给DataGrid添加
d:ItemsSource属性指定设计器专用的模拟数据源,和运行时的Array2D绑定互不影响,即可让设计器正常渲染页面。
所有修改完成后需要执行清理项目操作,手动删除项目根目录下的bin、obj文件夹后重新生成,避免旧的设计器缓存导致问题复现。
内容的提问来源于stack exchange,提问作者Engine Room
相关产品推荐
相关产品推荐

