如何将TextBox和Slider的值相互绑定?VB.net(Windows应用商店)

如何将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,

我希望在滑动滑块时文本框中的文本发生变化,反之亦然(滑块的值随着我在文本框中的键入而变化)。 以下是滑块的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, 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,再次感谢各位。