gpt4 book ai didi

c# - 使用硬件键盘更改变量时处理 Xamarin Forms 中的事件

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:26 24 4
gpt4 key购买 nike

通过这种方法,我拦截了设备物理键盘中的击键(在 MainActivity.cs 文件中)

public override bool OnKeyUp(Keycode keyCode, KeyEvent e)
{
if (keyCode.ToString().Equals("DpadLeft"))
{
App.Left = true;
App.Right = false;
}
else if (keyCode.ToString().Equals("DpadRight"))
{
App.Left = false;
App.Right = true;
}
else
{
App.Left = false;
App.Right = false;
}
return base.OnKeyUp(keyCode, e);
}

在我的应用程序中,我想将特定事件的值从 false 更改为 true shots(现在链接到按钮的压力)例如,这是我的 ContentPage 中的事件

PreviousButton.Clicked += (s, e) => 
{
OnPreviousClickedAsync(s, e);
};
NextButton.Clicked += (s, e) =>
{
OnNextClickedAsync(s, e);
};

有没有办法创建一个全局事件,当 Left 或 Right 变量的值改变时触发该事件?

最佳答案

例如,您可以在应用程序级别创建事件或使用 MessagingCenter。随着MessagingCenter您可以在事件发生时发送消息。在应用程序的另一部分,您可以订阅该消息并执行逻辑。

订阅和处理消息:

MessagingCenter.Subscribe<MainPage> (this, "Hi", (sender) => {
// do something whenever the "Hi" message is sent
});

发送消息:

MessagingCenter.Send<MainPage> (this, "Hi");

如果你愿意,你可以发送参数。查看文档页面以了解更多高级用法。

关于c# - 使用硬件键盘更改变量时处理 Xamarin Forms 中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50924902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com