想在textblock中显示滑块的值吗?

时间:2012-04-19 09:38:28

标签: c# silverlight windows-phone-7

我正在制作一个Windows Phone 7应用程序,我放入一个滑块。它从1开始,到80结束。我想这样,当你停止滑块时,它会显示滑块位于文本块中的任何位置。 (就好像有人中途停止,一个文本块会说40)

4 个答案:

答案 0 :(得分:14)

最简单的方法是将滑块值属性绑定到Textblocks Text属性,然后每次更改时都会更新值。你也可以创建一个转换器因为Sliders Value是double,然后使用转换器你也可以将这个值转换为Int。

Text="{Binding ElementName=YourSlider,Path=Value}"

答案 1 :(得分:3)

在停止拖动/更改滑块后触发的事件中,只需使用Slider.Value.ToString()设置TextBlock.Text。

如果需要,您还可以使用Math.Round()缩短值:

TextBlock.Text = Math.Round(Slider.Value, [Number of Decimals]).ToString()

此致 克里斯

答案 2 :(得分:0)

你必须为滑块创建一个valuechanged事件(类似这样)

private void ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{

}

然后在该事件中,您可以设置文本框的文本 - &gt;

textbox1.Text = silder1.Value.ToString();

每次滑块更改时,事件都会触发,因此文本框也会更改

希望这有帮助,

BART

答案 3 :(得分:0)

'Bart Teunissen'的答案相当不错,但只需添加一个简单的检查OldValue是否可用,那么它将完美无缺。

private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
   if(slider.OldValue != null)
   {
      textbox1.Text = silder1.Value.ToString();
   }
}
希望这有帮助。