How to make a default button in UWP app using XAML?

时间:2016-03-02 11:01:20

标签: xaml win-universal-app

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?

4 个答案:

答案 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键重新选择此按钮。