I'm trying to declare a button as default in UWP app but receive an error:
The property 'IsDefault' was not found in type 'Button'
How can I make a default button in UWP app?
答案 0 :(得分:4)
您可以使用可以放在任何文本框上的按键事件,例如,如果您正在创建登录页面,那么可能会有2个用户名和密码的文本框,然后只需将按键事件处理程序添加到文本框,因为它将是最后一个必填字段:
<PasswordBox KeyDown="PasswordKeyDown"/>
然后您可以将此事件处理为:
using System.Windows.Input;
private void PasswordKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
Login();
}
希望它能帮到你:)
答案 1 :(得分:4)
我知道在WPF中IsDefault是什么,但是如果在UWP中按下按钮,你可以使用CoreWindow.GetForCurrentThread().KeyDown。创建一个方法,该方法将在按下按钮或单击VirtualKey.Enter
时调用。
public MainPage()
{
this.InitializeComponent();
CoreWindow.GetForCurrentThread().KeyDown += MainPage_KeyDown; ;
}
private void MainPage_KeyDown(CoreWindow sender, KeyEventArgs args)
{
switch (args.VirtualKey)
{
case Windows.System.VirtualKey.Enter:
// handler for enter key
break;
default:
break;
}
}
答案 2 :(得分:2)
没有简单或干净的方法来解决您的问题,因为Iswfault不适用于uwp应用程序。 如果你正在使用MVVM或者你想重用你的代码,我建议你使用Behaviors并按照其他人发布的例子进行操作。
答案 3 :(得分:0)
我需要一个按钮,用户可以通过按ENTER键调用。
在UWP应用中,默认情况下,按Enter键可以调用Button
。因此,当您的网页中还有其他Button
时,我想你想要的是将重点放在UIElement
上。
您可以参考Keyboard navigation among UI elements,
默认情况下,控件的Tab键顺序与它们添加到设计图面的顺序相同,在XAML中列出,或以编程方式添加到容器中。
要专注于不是第一个元素的Button
,您可以将TabIndex="1"
属性提供给Button
,此属性可以使您的Button
获得焦点加载页面时,如果您更改此页面中其他控件的焦点,则需要通过鼠标单击,触摸或TAB键重新选择此按钮。