Binding 由于在UI中进行编辑而导致目标属性更改后,依赖项属性停止更新

Binding 由于在UI中进行编辑而导致目标属性更改后,依赖项属性停止更新,binding,windows-runtime,winrt-xaml,dependency-properties,Binding,Windows Runtime,Winrt Xaml,Dependency Properties,我的控件上有一个自定义依赖属性,如下所示(实现遗漏控件的样板): 公共静态只读DependencyProperty ValueProperty=DependencyProperty.Register( “价值”, 类型(字符串), 类型(BindingTestControl), 新属性元数据(空); 公共静态void SetValue(UIElement元素,字符串值) { 元素.SetValue(ValueProperty,value); } 公共静态字符串GetValue(UIElement

我的控件上有一个自定义依赖属性,如下所示(实现遗漏控件的样板):

公共静态只读DependencyProperty ValueProperty=DependencyProperty.Register( “价值”, 类型(字符串), 类型(BindingTestControl), 新属性元数据(空); 公共静态void SetValue(UIElement元素,字符串值) { 元素.SetValue(ValueProperty,value); } 公共静态字符串GetValue(UIElement元素) { 返回(字符串)元素.GetValue(ValueProperty); } 我创建了一个带有代码隐藏的页面,以便与相关的xaml绑定,就像这样(页面上有
x:Name=“root”
):

这在第一次使用时效果很好,但是如果我更新文本框中的值,绑定将不会覆盖新值。如果我取消注释
I++则绑定每次都会覆盖。我假设这种情况是这样发生的,因为随
INotifyPropertyChanged
发送的值与前一个值相同,尽管
文本框中的值不再相同


有没有一种方法可以强制值通过绑定,即使它没有更改?

您可以将setter更改为-

set
{
    this.stringItem = null;
    this.stringItem = value;
    OnPropertyChanged("StringItem");
}

当值发生更改时,将强制触发PropertyChanged事件。

请检查输出窗口。它应该向您显示在更新竞价来源时发生的任何错误等。这就是我最后所做的。
set
{
    this.stringItem = null;
    this.stringItem = value;
    OnPropertyChanged("StringItem");
}