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