如何将TextBox和Slider的值相互绑定?VB.net(Windows应用商店)
我希望在滑动滑块时文本框中的文本发生变化,反之亦然(滑块的值随着我在文本框中的键入而变化)。 以下是滑块的XAML代码:如何将TextBox和Slider的值相互绑定?VB.net(Windows应用商店),vb.net,windows-store-apps,windows-store,Vb.net,Windows Store Apps,Windows Store,我希望在滑动滑块时文本框中的文本发生变化,反之亦然(滑块的值随着我在文本框中的键入而变化)。 以下是滑块的XAML代码: <Slider x:Name="PercentageSlider" HorizontalAlignment="Left" Height="46" Margin="333,319,0,0" VerticalAlignment="Top" Width="788" Foreground="#FF5D9FAD" Minimum="1" Value="{Binding Text,
<Slider x:Name="PercentageSlider" HorizontalAlignment="Left" Height="46" Margin="333,319,0,0" VerticalAlignment="Top" Width="788" Foreground="#FF5D9FAD" Minimum="1" Value="{Binding Text, ElementName=PercentageValueTextBox}"/>
下面是文本框:
<TextBox x:Name="PercentageValueTextBox" Height="46" Margin="0,319,161,0" TextWrapping="Wrap" VerticalAlignment="Top" HorizontalAlignment="Right" Width="69" FontSize="26" Foreground="White" Background="{x:Null}" Text="{Binding Value, ElementName=PercentageSlider}"/>
对于文本框:
textchanged event:
slider1.value=CInt(textbox1.text)
对于滑块:
valuechanged event:
textbox1.text=slider1.value.tostring()
这里的文本框是textbox1,滑块是slider1您的
Xaml
用于链接两个控件是正确的,导致问题的原因是最小值=1
,它覆盖了文本框影响滑块的能力
尝试将绑定表达式更改为:
文本框:
Text="{Binding Value, ElementName=PercentageSlider, Mode=TwoWay}"
Value="{Binding Text, ElementName=PercentageValueTextBox, Mode=TwoWay}"
滑块:
Text="{Binding Value, ElementName=PercentageSlider, Mode=TwoWay}"
Value="{Binding Text, ElementName=PercentageValueTextBox, Mode=TwoWay}"
但是我应该在哪里写呢,我认为应该用XAML写。你不是说标题中是vb.net吗?如果您使用的是XAML,很抱歉,我不太了解XAML,它是VB.net,带有XAML设计器。您只需将Mode=TwoWay
添加到绑定表达式中即可。默认情况下,它们在WinRT中被设置为Mode=one-way
。您确实包含了正确的绑定表达式,我刚才指出了为什么对于习惯WPF的人需要更改Mode
。另外,Minimum
值不应该有任何影响。它不支持双向绑定,但会影响默认绑定。当我删除最小值时,他的代码工作正常,但文本框不会用最小值集更新滑块。这就是答案有点不相交的原因。这是可行的,但默认值设置为1。我可以将其设置为100吗?这样当我运行程序时,滑块和文本框都处于100?好的,我刚刚添加了滑块。当页面加载时,Value=100,再次感谢各位。