У меня есть приложение для Windows 8, и мне нужно определить, когда мышь находится внизу экрана, потому что в моем приложении есть панель команд, и я хотел бы открыть ее, когда мышь находится внизу. У меня уже есть жесты смахивания, которые откроют его, когда пользователь проведет пальцем, но теперь у меня есть дополнительное требование, когда у пользователя нет сенсорного устройства, и вместо этого он должен подвести мышь к нижней части экрана, чтобы отобразить мою CommandBar. Я привык к WPF-стилю событий MouseMoved, но, к сожалению, они недоступны в приложениях Metro, так как же я могу получить положение мыши или, по крайней мере, определить, что пользователь переместил мышь в нижнюю часть экрана? Я пытался искать об этом, но ничего не нашел... может быть, я что-то упустил?
2 ответа
Как сказал Chue X, стандартный способ открыть панель приложений с помощью мыши — щелкнуть правой кнопкой мыши.
Приложения среды выполнения Windows используют сообщения Pointer для всех вводов указателя: мышь, касание и перо будут генерировать PointerPressed, PointerMoved и т. д. Вы можете проверить аргументы события Pointer, чтобы узнать, какой тип ввода находится в PointerPoint.PointerDevice.PointerDeviceType.
Существуют немного разные версии событий Pointer в CoreWindow (с полной областью действия окна) и в xaml UIElement (с областью действия элемента). Вы можете использовать любой из них в приложении xaml. Для вашего использования любой из них будет работать. Они дают практически одну и ту же информацию.
Реагирование на взаимодействие с мышью (XAML) http://msdn. microsoft.com/en-us/library/windows/apps/xaml/hh994936.aspx
Вот код, который я использовал для достижения такого поведения из любого обработчика событий OnPointerMoved:
... OnPointerMoved(PointerRoutedEventArgs e)
{
PointerPoint point = e.GetCurrentPoint(page);
if (point.Position.Y > page.RenderSize.Height - 5)
{
page.MainMenu.IsOpen = true;
}
}
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.