我是报告此错误的新手,我可能是一个非常的报告,但每当我尝试设置DataContext = {TemplateBinding Property}时,我会收到此错误,如模板10验证中的示例所示。
我正在探索模板10验证,然后将其应用到我自己的应用程序中,所以我发现这个错误很奇怪,因为我无法在x86上使用设计模式我在x64调试它运行正常但是我一试要应用自定义,它会向我显示此错误,在设计模式下,我会收到一个错误窗口,如屏幕截图所示:
严重级代码描述项目文件行抑制状态 错误属性“Property”不是DependencyProperty。要在标记中使用,必须在目标类型上公开非附加属性,并使用可访问的实例属性“Property”。对于附加属性,声明类型必须提供静态“GetProperty”和“SetProperty”方法。 SampleValidationTest E:\ Template10 \ SampleValidationTest \ SampleValidationTest \ Views \ MainPage.xaml 43
我已经修复了VS2017并且它没有纠正它,一旦我停止自定义错误验证,Template10验证在设计模式下在x64调试模式下运行良好,程序构建也很好,甚至认为它仍然显示错误。
最奇怪的是,当我自定义此错误验证时,我的设计模式工作正常,并且突然它在第二天停止工作,我无法解决它。
我想我会重新安装VS2017,我很难重新安装它,好像我现在没有任何选择。
答案 0 :(得分:1)
我花了最近几个小时试图理解这个错误,我想我发现了这个错误,当你创建一个模板空白,最小或汉堡包时,它附带了默认的nuget包:
我已经分别将前两个更新为5.3.3和2.0.0,并且当您尝试自定义验证错误时,x64和ARM的设计模式正常工作。
但是如果你将Newtonsoft.Json更新到版本10.0.1或10.0.2,设计师模式会破坏它仍然构建但它会中断并显示不同类型的错误,就像我发布的那样,现在它显示模板10标签上的错误例如,或者也可以在pageheader上。
因此,只要您仅应用内联自定义,它仍会构建,因为如果您尝试使用资源字典并尝试将其应用于ControlWrapper上的Template属性,则会抛出未处理的异常。 设计师模式中断,所以你不能使用它,摇摆不定的线永远不会留在那里永远存在,并且那些恼人的错误仍然显示在错误列表中。
每次我更新或降级任何nuget包时,我都必须重新启动VS2017企业版,因为它没有刷新模板10设计器模式我不知道原因,但是一旦你重新启动VS2017,编译器就会相应刷新。
现在好了,除非你想在没有设计师的情况下工作,否则不要从9.0.1升级Newtonsoft.Json。
我也在github上发布了这个答案,以便他们尽快纠正。 我不认为我有足够的水平来帮助那个github项目。 :(
但至少你可以在设计师正常工作的情况下以这种方式工作。