如何在滑块值更改时使TextBlock.Text = Slider.Value

时间:2012-02-02 08:22:38

标签: wpf xaml variables animation slider

我试过这个

   If Slider1.Value = 1 Then
        TextBlock1.Text = "1"
    End If
    If Slider1.Value = 2 Then
        TextBlock1.Text = "2"
    End If
    If Slider1.Value = 3 Then
        TextBlock1.Text = "3"
    End If
    If Slider1.Value = 4 Then
        TextBlock1.Text = "4"
    End If
    If Slider1.Value = 5 Then
        TextBlock1.Text = "5"
    End If

我实际上遇到了一些错误,特别是当我有

    If Slider1.Value = 1 Then
    TextBlock1.Text = "1"
    End If

代码,因为程序运行时它已经在值1上。我是WPF的新手,并不知道该怎么做,所以我可以告诉我或者提供一个关于它如何完成的代码示例谢谢。

我也一直在使用表达式混合4几天,我知道如何创建一个模板和动画淡出鼠标悬停和按钮的东西,但说如果用户点击一个按钮我将如何动画一个单独的图片框或图像淡入或淡出你能不能给我一个例子,谢谢大家:)。

1 个答案:

答案 0 :(得分:11)

你不需要在Codebehind中执行此操作只需绑定到XAML中的值,如果要以某种方式修改该值,则使用ValueConverter。

请参阅http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx

  <Slider x:Name="mySlider"/>
  <TextBox x:Name="myTextBox" Text="{Binding ElementName=mySlider,Path=Value}"/>

否则如果你肯定想在CodeBehind中使用ValueChangedEvent:

<强> XAML:

  <Slider x:Name="mySlider" ValueChanged="mySlider_ValueChanged"/>

<强>代码隐藏

Private Sub mySlider_ValueChanged(sender As Object, e As RoutedPropertyChangedEventArgs(Of Double))
    myTextBox.Text = e.NewValue.ToString()
End Sub