You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP桌面应用:如何验证文本框输入值并阻止焦点切换?

UWP文本框Double类型验证及焦点保留实现

我正在开发一款UWP桌面应用,需要验证文本框中输入的值必须为double类型,若不符合要求则焦点需保留在当前控件。

最初尝试的代码如下:

private async void tbxValue_LosingFocus(UIElement sender, LosingFocusEventArgs args)
{
    try
    {
        double dbl = Convert.ToDouble(tbxValue.Text);
    }
    catch (Exception ex)
    {
        args.Cancel = true;
    
        MessageDialog msgDlg = new MessageDialog(resourceLoader.GetString("MsgDlgValueError"));
        await msgDlg.ShowAsync();

    }
}

编辑补充

感谢Flydog57的评论,我找到了解决方案:

private async void myTextBox_LosingFocus(UIElement sender, LosingFocusEventArgs args)
{
    if(!double.TryParse(((TextBox)sender).Text, out double dbl))
    {
        bool bolCancel = args.TryCancel();

        if(bolCancel)
        {
            MessageDialog msgDlg = new MessageDialog(resourceLoader.GetString("MsgDlgValueError"));
            await msgDlg.ShowAsync();
        }
    }
}

内容的提问来源于stack exchange,提问作者Jose Afonso Braga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:17:00