从visual studio中的文本框中检索文本(Windows应用商店应用)

时间:2014-01-28 07:51:30

标签: c# express textbox windows-store-apps

在Windows商店应用程序(表达2013 for Windows)中,我创建了一个文本框。现在我想捕获或检索用户输入的文本以进行进一步的操作(具体来说,将用户文本分配给字符串)。 我试过这个:

string input = InputBox.Text;  

在textbox的事件处理程序中。但这似乎不起作用。

欢迎任何帮助。

<TextBox Text="TextBox"
             x:Name="InputBox"
             Grid.Row="1"
             HorizontalAlignment="Right"
             VerticalAlignment="Center" 
             Width="402" 
             Height="48"
             FontFamily="Arial Black"
             FontSize="28"
             FontWeight="Bold"
             VerticalContentAlignment="Center"
             HorizontalContentAlignment="Left" Margin="0,77,0,84"
             TextAlignment="Left" TextChanged="InputBox_TextChanged"
             />

C#代码如下:

private void InputBox_TextChanged(object sender, TextChangedEventArgs e)
    {
        string input = InputBox.Text;
    }

2 个答案:

答案 0 :(得分:2)

这里的问题是你在事件中创建了字符串,所以它会在事件结束后被删除。 你可以做的是在表单类中创建一个字符串,并在文本框事件上设置它的值。

private string input = string.Empty;

private void InputBox_TextChanged(object sender, TextChangedEventArgs e)
{
    input = InputBox.Text;
}

答案 1 :(得分:1)

从xaml中删除TextChanged =“InputBox_TextChanged”,并在任何想要使用TextBox文本的地方使用InputBox.Text。 InputBox_TextChanged将触发您在文本框中键入的每个符号,因此在text_changed中获取文本不是一个好主意。