Действие при нажатии и отпускании кнопки - PullRequest
0 голосов
/ 07 декабря 2011

Я не могу понять это прямо: у меня есть одна кнопка, для которой нужно одно действие для события прессы и одно действие для выпуска, я искал везде и не могу найти ответ.

KeyDown, KeyUp или MouseLeftButtonDown не работает с кнопкой на Windows Phone 7.

Сначала я попытался объединить GotFocus и Click релиз клик-режима следующим образом:

(Как вы можете видеть, я хочу, чтобы изображение 1 отображалось при нажатии кнопки и скрывалось при отпускании кнопки)

xaml:

Button Click="button1_Click" ClickMode="Release" GotFocus="button1_GotFocus" Content="byt" Height="72" Margin="0,500,6,0" Name="button1" VerticalAlignment="Top"

    private void button1_GotFocus(object sender, RoutedEventArgs e)
    {
        Image1.Visibility = System.Windows.Visibility.Collapsed;
    }

    private void button1_Click (object sender, RoutedEventArgs e)
    {
        Image1.Visibility = System.Windows.Visibility.Visible;
    }

Это работает только один раз и может работать все время, если я могу потерять фокус с кнопки при ее отпускании (попытался также найти ее)

Еще одна вещь, которую я пытался изменить, это изменить режим нажатия, поканажатием на кнопку, но это тоже не сработало ..

что-то вроде этого:

    private void button1_Click (object sender, RoutedEventArgs e)
    {
        Image1.Visibility = System.Windows.Visibility.Collapsed;

        button1.SetValue(Button.ClickModeProperty, ClickMode.Release);
        Image1.Visibility = System.Windows.Visibility.Visible;
    }

(я знаю, что синтаксис как-то неверен во втором)

Буду благодарен за помощь!

Ответы [ 3 ]

1 голос
/ 07 декабря 2011

MouseLeftButtonDown / MouseLeftButtonUp работают на WP7.Очевидно, что они не названы лучшими, но они работают на устройстве.

 <TextBlock x:Name="ApplicationTitle" MouseLeftButtonDown="ApplicationTitle_MouseLeftButtonDown" MouseLeftButtonUp="ApplicationTitle_MouseLeftButtonUp"
                   Style="{StaticResource PhoneTextNormalStyle}"
                   Text="MY APPLICATION" />

Вы увидите, что Дауна уволят, а затем сразу же Вверх.

 private void ApplicationTitle_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {

        }

        private void ApplicationTitle_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {

        }
1 голос
/ 07 декабря 2011

Возможно, все, что вам нужно, это MouseLeftButtonDown / Up.

0 голосов
/ 21 июня 2018

Я использовал

Click="{x:Bind UpArrow_Click}" 
ClickMode="Press" 
PointerCaptureLost="Button_Release"

на кнопке. При нажатии кнопки UpArrow_Click происходит событие ... при отпускании кнопки происходит событие Button_Release

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...