gpt4 book ai didi

.net - 在 Xamarin.Forms 中指定默认按钮

转载 作者:行者123 更新时间:2023-12-01 06:18:24 24 4
gpt4 key购买 nike

在 Xamarin.Forms 中,如何将按钮指定为页面的默认按钮?

例如,在 UWP 上,DefaultButton 的点击处理程序当用户在页面有焦点时按下 Enter 键时应该触发。

最佳答案

假设您试图复制您对亚历山德罗的第一条评论中所述的行为,您想声明 Completed您的领域Entry控件使用与按钮相同的事件处理程序。

例如,在 XAML 中:

<Entry Placeholder="Enter PIN Here"
Completed="DefaultButton_Clicked"/>

<Button Text="OK"
Clicked="DefaultButton_Clicked"/>

然后在你后面的代码中:

void DefaultButton_Clicked(object sender, EventArgs e)
{
//Do stuff
}

如果您希望像您回答的那样在代码中完成这一切,我建议您这样做,以便您可以取消订阅您的事件。您会发现使用匿名函数更加痛苦。您应该在 OnAppearing/OnDisappearing 中订阅和取消订阅您的事件。

void DefaultButton_Clicked(object sender, EventArgs e)
{
if (model.MyCommand.CanExecute(null))
model.MyCommand.Execute(null);
}

protected override void OnAppearing()
{
base.OnAppearing();
foreach (var child in ((StackLayout)Content).Children)
{
if (child is Entry entry)
entry.Completed += DefaultButton_Clicked;
}
}

protected override void OnDisappearing()
{
base.OnDisappearing();
foreach (var child in ((StackLayout)Content).Children)
{
if (child is Entry entry)
entry.Completed -= DefaultButton_Clicked;
}
}

关于.net - 在 Xamarin.Forms 中指定默认按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43723894/

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