WPF Binding TwoWay 不工作,OneWayToSource 工作。为什么?
WPF Binding TwoWay not working, OneWayToSource working. WHY?
我有一个 DependencyProperty 类型为 TimeSpan 的控件。当我尝试绑定到那个 属性 时,该值没有被更新。
控件的用法:
<controls:TimeControl Time={Binding SomeTimeSpanProperty} />
当我更改控件中的时间值时,更改不会在 SomeTimeSpanProperty 中更新。但是,如果我将 {Binding SomeTimeSpanProperty} 更改为 {Binding SomeTimeSpanProperty,Mode=OneWayToSource},它会更新。
我找到了解决方案。如果以后有人读到这篇文章想知道它是什么:
我必须明确地将绑定模式设置为 TwoWay,因为 TimeSpan 类型 属性 的默认绑定模式是 OneWay。
来自这个:
<controls:TimeControl Time={Binding SomeTimeSpanProperty} />
对此:
<controls:TimeControl Time={Binding SomeTimeSpanProperty,Mode=TwoWay} />
现在 有效!
我有一个 DependencyProperty 类型为 TimeSpan 的控件。当我尝试绑定到那个 属性 时,该值没有被更新。
控件的用法:
<controls:TimeControl Time={Binding SomeTimeSpanProperty} />
当我更改控件中的时间值时,更改不会在 SomeTimeSpanProperty 中更新。但是,如果我将 {Binding SomeTimeSpanProperty} 更改为 {Binding SomeTimeSpanProperty,Mode=OneWayToSource},它会更新。
我找到了解决方案。如果以后有人读到这篇文章想知道它是什么:
我必须明确地将绑定模式设置为 TwoWay,因为 TimeSpan 类型 属性 的默认绑定模式是 OneWay。
来自这个:
<controls:TimeControl Time={Binding SomeTimeSpanProperty} />
对此:
<controls:TimeControl Time={Binding SomeTimeSpanProperty,Mode=TwoWay} />
现在 有效!