我有一个带有附加属性的文本框,Visual Studio 给我一个错误,指出属性值无效,即使它实际上是有效的。
这是文本框:
<TextBox
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Width="Auto"
styleExtensions:TextBoxExtension.BorderStyle="None"/>
这是 AttachedProperty:
public enum BorderStyle
{
Rounded,
BottomOnly,
None
}
public static DependencyProperty BorderStyleProperty =
DependencyProperty.RegisterAttached(
"BorderStyle",
typeof(BorderStyle),
typeof(TextBoxExtension));
该GetBorderStyle
和SetBorderStyle
方法也存在,而且由于他们没有什么特别的,我没有把它们贴在这里。
当我发情时,程序按预期工作,所有三个值都按预期BorderStyle
执行(它们触发 a 中的不同更改Style
),甚至可视化 xaml 编辑器按预期显示更改,但出于某种原因,Visual Studio 不断给出我这个特定文本框的这个毫无意义的错误:
'None' is not a valid value for property 'BorderStyle'
对于枚举的所有三个值,错误仍然存在。相同的附加属性也用于 ControlTemplate 中的其他地方,在不同的 TextBox 上,它不会触发此错误。
我试过清理解决方案,重建它,删除 bin 和 obj 文件夹,删除 .vs 文件夹,但错误不断出现。
我在这里做错了什么,还是 Visual Studio 错了?如果是这样,是否有禁用此特定错误消息的解决方法?
我使用的是 Visual Studio 2017 15.8.8 和 .NET Framework 4.7.03056
编辑:在 VS 的新 2019 预览版中可以观察到相同的行为。我要疯了吗?
我找到了解决方案。写作{x:Static styleExtensions:BorderStyle.None}
而不是仅仅None
解决了问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句