0

对不起,如果标题很奇怪,因为问题本身有点奇怪。

我在客户端有一个 TextBlock 和滑块控件。

滑块 {Binding} 到 Textblock。

这是他们的代码 -

 <TextBlock Text="{Binding Value}" x:Name="Name1Value" FontSize="25"/>
  <Slider   ValueChanged="slider_ValueChanged_1"  x:Name="slidervalve"  Value= "{Binding ElementName=Name1Value,Path=Text}"  StepFrequency="25"   />

现在当 Slider Value 改变时,Slider 调用一个方法 slider_ValueChanged_1,将其值发送到服务器。服务器接受该值并将新值发送回客户端,并且来自服务器的这个新值通过实现 inotifypropertychanged 的​​ observablecollection 设置为文本块(x:Name="Name1Value")。滑块是 {Binding} 到文本块。

1)现在我第一次更改客户端滑块上的值时,服务器接受新值并返回新值,我将新值设置为文本块。2)现在我正在更改服务器上的值,并且该值在文本块中正确更新,然后滑块值更改为文本块值。

3)现在在第一个周期之后,如果我再次更改服务器上的值,客户端上的文本块正在更新,但滑块不会更改为文本块值

但滑块绑定到文本块。我该如何解决这个问题?

Edit1:仅供参考,文本块和滑块在同一页面但在不同的堆栈面板中

4

1 回答 1

0

Slider控件的属性Value是类型doubleTextBlock.Text而是字符串。在没有转换器的情况下将这两者绑定在一起是自找麻烦。您应该将您的绑定Slider.ValueDataContext/view 模型,并且通常确保绑定Mode=TwoWay

于 2013-05-13T05:56:25.637 回答