1

在此站点和其他站点上提出了许多关于 Resharper 在使用绑定PasswordPasswordBox. 在此发布时,只需使用 Google 搜索该短语即可返回“大约 8,550,000 个结果”。还有一个关于它的错误报告

我最近发现了另一个不会产生错误的实现,我正在努力寻找导致 Resharper 不产生错误错误的实现的差异

我看到的差异:

  1. 实际存储密码字符串 ( BoundPassword/ Password) 的FrameworkPropertyMetadata属性在第二个实现中使用对象而不是标准PropertyMetadata对象。但是当我将第一个实现更改为使用这种新类型时,我仍然得到了错误。
  2. 第一个实现在分配属性更改的处理程序之前执行转换,而第二个实现在同一语句中。但这只是编码偏好;最终结果不会改变。

我错过了什么?

4

1 回答 1

3

您正在寻找的答案在 2 年前的 RSRP-174487 问题评论中给出 - 依赖项/附加属性字段名称应遵循 Microsoft 表示法 - SomeNameProperty(有Property后缀) - 由 ReSharper 正确处理。

依赖属性注册实际上可能是动态的并在运行时执行,但这确实很少见,ReSharper 仍然通过简单地触发“依赖属性字段缺失”检查关闭(Alt + Enter - 抑制检查)来支持它。

ReSharper 旨在处理已知的静态依赖属性注册并为您验证 DP 字段的存在,但要求您遵循 Microsoft DP 字段命名表示法才能正常工作。我认为错误信息可能会更好,我们会努力解决的。

于 2012-10-24T20:07:17.240 回答