附加属性的 WPF“不是有效的属性值”错误,即使它按预期工作

Zsolt Lázár

我有一个带有附加属性的文本框,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));

GetBorderStyleSetBorderStyle方法也存在,而且由于他们没有什么特别的,我没有把它们贴在这里。

当我发情时,程序按预期工作,所有三个值都按预期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 预览版中可以观察到相同的行为。我要疯了吗?

Zsolt Lázár

我找到了解决方案。写作{x:Static styleExtensions:BorderStyle.None}而不是仅仅None解决了问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取附加属性的属性名称

来自分类Dev

附加属性的多重绑定

来自分类Dev

绑定到附加属性

来自分类Dev

附加属性的多重绑定

来自分类Dev

动态创建附加属性

来自分类Dev

TextBox WPF 上的附加属性

来自分类Dev

绑定特定附加属性的值

来自分类Dev

资源的URL作为附加(有效)模型属性

来自分类Dev

带有附加属性的疑问

来自分类Dev

附加参考导航属性-Nopcommerce

来自分类Dev

调整QML RowLayout附加属性

来自分类Dev

附加属性未触发IMultiValueConverter

来自分类Dev

数据绑定到附加属性

来自分类Dev

附加到Typescript接口属性

来自分类Dev

通过模型项附加属性

来自分类Dev

MVC远程属性附加字段

来自分类Dev

附加属性未触发IMultiValueConverter

来自分类Dev

在WPF中以编程方式绑定附加属性

来自分类Dev

WPF将VisualState附加到对象属性

来自分类Dev

在 WPF 中找不到附加属性

来自分类Dev

附加输入属性值与文本值不同

来自分类Dev

验证错误:此行不是有效的字段或属性定义

来自分类Dev

错误!“失败”不是Play的有效属性

来自分类Dev

错误!“复制”不是Play的有效属性

来自分类Dev

错误!“ sudo”不是Play的有效属性

来自分类Dev

错误!“ sudo”不是Play的有效属性

来自分类Dev

错误附加到“ Set-Cookie”属性⚠️

来自分类Dev

从contentpresenter中的内容获取附加的属性值

来自分类Dev

Java属性文件附加新值