Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 滑块控件在使用TextBlock的{Binding}上显示异常行为_Xaml_Windows 8_Windows Runtime_Winrt Xaml - Fatal编程技术网

Xaml 滑块控件在使用TextBlock的{Binding}上显示异常行为

Xaml 滑块控件在使用TextBlock的{Binding}上显示异常行为,xaml,windows-8,windows-runtime,winrt-xaml,Xaml,Windows 8,Windows Runtime,Winrt Xaml,抱歉,如果标题很奇怪,因为问题本身有点奇怪 我在客户端有一个文本块和滑块控件 滑块{绑定}到Textblock 这是他们的密码- <TextBlock Text="{Binding Value}" x:Name="Name1Value" FontSize="25"/> <Slider ValueChanged="slider_ValueChanged_1" x:Name="slidervalve" Value= "{Binding ElementName=Name

抱歉,如果标题很奇怪,因为问题本身有点奇怪

我在客户端有一个文本块和滑块控件

滑块{绑定}到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值更改时,Slider调用Slider\u ValueChanged\u 1方法,该方法将其值发送到服务器。服务器接受该值并将新值发送回客户机,服务器的新值通过实现inotifypropertychanged的observablecollection设置为textblock(x:Name=“Name1Value”)。滑块{绑定}到textblock

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

3) 在第一个循环之后,如果我再次更改服务器上的值,客户端上的textblock将得到更新,但滑块不会更改为textblock值

但是滑块被绑定到textblock。我怎样才能解决这个问题


Edit1:仅供参考,textblock和滑块位于同一页面中,但位于不同的堆栈面板中

一个
滑块
控件的
属性的类型为
double
,而
textblock.Text
是一个字符串。如果不使用转换器将这两者绑定在一起,那就麻烦了。您应该将
滑块.Value
绑定到
数据上下文
/视图模型,并通常确保绑定
模式=双向

这看起来非常混乱,如果不是递归的,那么用户体验的实际目标是什么。听起来您想使用滑块设置值,但通过服务器上设置的值覆盖该值?因此,如果我更改滑块,我不会看到我将其放在哪里的滑块,但它将根据服务器返回的内容为我重置(好吧,假设您试图连接到一起的内容有效吗?)我不确定我是否明白在这种情况下为什么要使用元素绑定?@JimO'Neil当客户端的用户更改滑块时,滑块会立即更新,然后等待服务器接受滑块的新值。当服务器接受该值时,textblock将更新,滑块(绑定到textblock)将保持其新位置。但是在第一次递归之后,textblock仍然得到了很好的更新,但是滑块停止更新到textblock的值,即使它的{Binding}。这里的业务案例是,当用户更改滑块值时,服务器应该接受新值。否则滑块将返回到其以前的位置。感谢您的响应。我已经在上面的评论中解释了我的商业案例。关于您的第二个建议,我无法设置绑定模式=双向数据上下文,因为在服务器接受值并发送响应的过渡时间内,滑块值在其值和数据上下文值[以前接受的服务器值]之间剧烈振荡。你也可以给我一个在线的例子,我可以绑定滑块到texblock文本与转换器。我只是回答你的一个问题与转换器样本在这里。希望能有帮助。