Как сделать TextBlock.Text = Slider.Value при изменении значения слайдера - PullRequest
3 голосов
/ 02 февраля 2012

Я пробовал это

   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 и не знаю, что здесь делать, так что, пожалуйста, покажите мне или предоставьте пример кода, как это делается, спасибо.

, а также я использовал выражение blend 4 дляпару дней, и я знаю, как создать шаблон и анимировать выцветание при наведении курсора мыши и прочее для кнопки, но скажите, если пользователь нажимает кнопку, как бы я анимировал отдельное изображение или изображение, чтобы затемнять или исчезать, не могли бы вы предоставитьмне пример спасибо всем :).

1 Ответ

11 голосов
/ 02 февраля 2012

Вам не нужно делать это в 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"/>

CodeBehind

Private Sub mySlider_ValueChanged(sender As Object, e As RoutedPropertyChangedEventArgs(Of Double))
    myTextBox.Text = e.NewValue.ToString()
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...