Пользовательский элемент управления: событие Button Released не срабатывает при смахивании - PullRequest
0 голосов
/ 08 ноября 2019

Я создал пользовательский элемент управления, который использует кнопку с длительным нажатием. Когда кнопка получает Pressed, действие начинается. Когда кнопка Released действие прекращается. Проблема состоит в том, что, как только кнопка будет Pressed, пользователь может выбрать, чтобы провести пальцем от кнопки. Событие Released не сработает, когда это произойдет, и действие, вызванное событием Pressed, будет выполняться бесконечно.

Это мой код XAML:

<?xml version="1.0" encoding="UTF-8" ?>
<ContentView
    x:Class="TestProject.NumericUpDown"
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Name="this">

    <ContentView.Content>
        <Button
            x:Name="TestButton"
            Grid.Row="0"
            Grid.Column="0"
            Pressed="TestButton_Pressed"
            Released="TestButton_Released"
            Text="Test" />
    </ContentView.Content>
</ContentView>

Вкод, указанный ниже У меня есть следующие методы для проверки событий:

private void TestButton_Pressed(object sender, EventArgs e)
{
    Console.WriteLine("Pressed");
}

private void TestButton_Released(object sender, EventArgs e)
{
    Console.WriteLine("Released");
}

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

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