DependencyProperty.UnsetValue}' is not a valid value for property 'Background' 的错误原因

查找了一下,发现是资源字典中一个资源(DynamicResource )值没有定义。记一下这个错误,

这个bug找了那么久,最终的解决让我啼笑皆非,原来是一个背景颜色的命名写错了,样式命名中一个字母的大写在资源字典中定义成了小写,程序找不到就报错了!!!!!!!!

唉,xmal里面的错误不像C#语言的一样,微软能准确定位到错误发生的位置,只能靠最后一个"Background"去找,这样好生没有目的性,那么多控件的样式积在那里,所以让人憎恨的复制粘贴还是必须的,浪费了很多时间,以后一定要细心。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你在自定义的 PasswordBox 类中使用了依赖属性 Password,并且设置了 FrameworkPropertyMetadataOptions.BindsTwoWayByDefault 选项来实现双向绑定。 这段代码看起来是没有问题的,它定义了一个名为 Password 的依赖属性,并且在设置和获取属性值时使用 GetValue 和 SetValue 方法。同时,通过 FrameworkPropertyMetadataOptions.BindsTwoWayByDefault 选项,确保该属性默认支持双向绑定。 但是需要注意的是,这段代码只是在自定义的 PasswordBox 类中定义了一个属性,实际上你还需要在 XAML 中使用这个自定义的 PasswordBox 控件,并将它绑定到你的 ViewModel 中的 Password 属性。 在 XAML 中,你可以这样使用你的自定义 PasswordBox 控件: ```xml <local:CPasswordBox Password="{Binding MyPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> ``` 这里的 `local` 是你在 XAML 文件开头添加的命名空间引用,指向你定义的 CPasswordBox 类所在的命名空间。 然后,在你的 ViewModel 中声明一个名为 MyPassword 的属性,用于实际存储密码值。当用户在自定义 PasswordBox 中输入密码时,双向绑定会自动更新 MyPassword 属性的值。同样地,当 MyPassword 属性的值改变时,也会自动更新到自定义 PasswordBox 控件中。 如果你按照以上方法实现了双向绑定,而且没有出现错误或异常,那么你的代码应该是没有问题的。如果你仍然遇到问题,请提供更多的代码和错误信息,以便我能更好地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值