验证c#中文本框输入的问题

时间:2015-03-10 14:12:57

标签: c# xaml visual-studio-2013 textbox windows-phone-8-emulator

我正在做一个Windows Phone 8.1项目。在XAML中,我有两个文本框,一个用于名字,另一个用于最后一个,还有一个按钮。在按钮点击事件中,我想显示一条消息,说“等等等等等等。”如果文本框中的任何一个(或两个)都是空的。

我尝试了很多方法,但是没有能够得到这个。这是我能得到的最好的,但它并没有在某种程度上发挥作用:


        private async void Button_Click(object sender, RoutedEventArgs e)
        {

            if ((Textbox_first_name.DataContext== null) || (Textbox_last_name.DataContext== null))
            {
                var dialog = new MessageDialog("message 2", "message 1");
                await dialog.ShowAsync();

            }

            else
            {
                Frame.Navigate(typeof(page3));
            }

        }

使用DataContext,我收到消息。但即使我输入任何内容,它也不会将我带到第3页。它只是显示消息。所以,它似乎没有承认else块。

我试过


if ((Textbox_first_name_extractor.Text== null) || (Textbox_last_name_extractor.Text== null))
//same everything else

信息甚至没有到来。它立刻带我到第三页,即使它是空的。我不知道我做错了什么,或者不知道。请帮忙!

Windows 8.1; VS2013 Updt4;

2 个答案:

答案 0 :(得分:0)

你可以尝试:

if(String.IsNullOrWhiteSpace(Textbox_first_name_extractor.Text) ||
    String.IsNullOrWhiteSpace(Textbox_last_name_extractor.Text))

作为你的if语句。这将检查null或空/空白填充字符串。

但是,您是否尝试过调试应用程序?如果是这样,你检查了两个文本框的.Text的内容是什么?

或者,如果您正在使用XAML,为什么不使用数据绑定并验证绑定属性?

答案 1 :(得分:0)

您可以通过Text property访问TextBox的文本,在这种情况下使用String.IsNullOrEmpty(或String.IsNullOrWhitespace,根据您的需要)验证它:

if (String.IsNullOrEmpty(Textbox_first_name) ||
    String.IsNullOrEmpty(Textbox_last_name.Text))
{
    var dialog = new MessageDialog("message 2", "message 1");
    await dialog.ShowAsync();
}