这里有一个小XAML片段。 你会看见
<StackPanel>
<TextBox x:Name="txtValue">250</TextBox>
<Slider x:Name="slide"
Value="{Binding ElementName=txtValue, Path=Text,
Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Minimum="0" Maximum="500"></Slider>
</StackPanel>
- 当你改变文本框的值,滑块更新
- 如果您明确地更改滑块值,以前的行为打破又名停止工作。
如果我删除Mode=OneWay
组指令,(默认为双向)一切完美。
这究竟是为什么?
使用mode=TwoWay
,设置UpdateSourceTrigger=Explicit
。
数据绑定未破,但停用( http://en.wikipedia.org/wiki/Euphemism ):
System.Windows.Data Warning: 75 : BindingExpression (hash=52697953): Deactivate
System.Windows.Data Warning: 99 : BindingExpression (hash=52697953): Replace item at level 0 with {NullDataItem}
System.Windows.Data Warning: 59 : BindingExpression (hash=52697953): Detach
设置跟踪到高将产生的情况下,VS输出窗口,这个消息您移动滑块:
<Slider xmlns:trace="clr-namespace:System.Diagnostics;assembly=WindowsBase"
Value="{Binding trace:PresentationTraceSources.TraceLevel=High,
ElementName=txtValue, Path=Text, Mode=OneWay,
UpdateSourceTrigger=PropertyChanged}"
Minimum="0" Maximum="500"></Slider>