Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果尝试在Template10验证中自定义错误验证,则会出现DependencyProperty错误_C#_Validation_Uwp_Uwp Xaml_Template10 - Fatal编程技术网

C# 如果尝试在Template10验证中自定义错误验证,则会出现DependencyProperty错误

C# 如果尝试在Template10验证中自定义错误验证,则会出现DependencyProperty错误,c#,validation,uwp,uwp-xaml,template10,C#,Validation,Uwp,Uwp Xaml,Template10,我在报告这个错误方面是新手,它可能是来自我的部分的noobish报告,但是每当我尝试设置DataContext={TemplateBinding Property}时,就会出现这个错误,如模板10验证的示例所示 在将模板10验证应用于我自己的应用程序之前,我正在探索模板10验证,因此我发现了这个错误,因为我无法在x86上使用设计模式,我正在x64上调试,它工作正常,但当我尝试应用自定义时,它会向我显示此错误,在设计模式下,我会得到一个错误窗口,如屏幕截图所示: 严重性代码说明项目文件行抑制状态

我在报告这个错误方面是新手,它可能是来自我的部分的noobish报告,但是每当我尝试设置DataContext={TemplateBinding Property}时,就会出现这个错误,如模板10验证的示例所示

在将模板10验证应用于我自己的应用程序之前,我正在探索模板10验证,因此我发现了这个错误,因为我无法在x86上使用设计模式,我正在x64上调试,它工作正常,但当我尝试应用自定义时,它会向我显示此错误,在设计模式下,我会得到一个错误窗口,如屏幕截图所示:

严重性代码说明项目文件行抑制状态 错误属性“property”不是DependencyProperty。要在标记中使用,必须使用可访问的实例属性“property”在目标类型上公开非附加属性。对于附加属性,声明类型必须提供静态“GetProperty”和“SetProperty”方法。SampleValidationTest E:\Template10\SampleValidationTest\SampleValidationTest\Views\MainPage.xaml 43

我修复了VS2017,但它没有纠正它,当我停止自定义错误验证时,Template10验证在设计模式下的x64调试模式下运行良好,并且程序构建相当好,即使它仍然显示错误

最奇怪的是,当我定制这个错误验证时,我的设计模式工作得很好,第二天它突然停止工作,我还没能解决它


我想我会重新安装VS2017,重新安装它让我很痛苦,似乎我现在没有任何选择。

我花了几个小时试图理解这个错误,我想我发现了错误,当你创建一个空白、最小或汉堡的模板时,它附带了默认的nuget包:

  • Microsoft.NETCore.UniversalWindowsPlataform版本5.2.3
  • Microsoft.Xaml.Behaviors.Uwp.Managed版本1.1.0
  • Json版本9.0.1
我已分别将前两个版本更新为5.3.3和2.0.0,当您尝试自定义验证错误时,x64和ARM的设计模式工作正常

但是,如果将Newtonsoft.Json更新到10.0.1或10.0.2版本,设计器模式会破坏它,但仍会生成,但它会破坏并显示不同类型的错误,就像我发布的错误一样,现在它在模板10标记上显示错误,例如或在pageheader上

因此,只要您仅应用内联自定义,它仍然会生成,因为如果您尝试使用资源字典并尝试将其应用于ControlWrapper的Template属性,它会引发未处理的异常。 设计师模式中断,所以你将无法使用它,旋转线永远不会离开那里停留,而且那些恼人的错误会一直显示在错误列表中

此外,每次我更新或降级任何nuget软件包时,我都必须重新启动VS2017 enterprise edition,因为它没有刷新template 10 designer模式,我不知道原因,但一旦重新启动VS2017,编译器会相应地刷新

目前不要从9.0.1升级Newtonsoft.Json,除非您希望在没有设计器的情况下工作

我还在github上发布了这个答案,这样他们可以很快纠正这个问题。 我认为我没有足够的能力帮助github项目(


但至少在设计器正常工作的情况下,您可以这样工作。

只在Template中使用它。您能解释得更详细一点吗?因为如果您想在control wrapper标记的Template属性中使用它,我已经这样做了,它不允许我构建,它会抛出一个未处理的异常,而且设计模式仍然被破坏。