Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不同线程中读取Windows.UI.Xaml.Controls.TextBox中的文本-Windows Phone 8.1_C#_Multithreading_Windows Phone 8.1 - Fatal编程技术网

C# 如何在不同线程中读取Windows.UI.Xaml.Controls.TextBox中的文本-Windows Phone 8.1

C# 如何在不同线程中读取Windows.UI.Xaml.Controls.TextBox中的文本-Windows Phone 8.1,c#,multithreading,windows-phone-8.1,C#,Multithreading,Windows Phone 8.1,如何从Windows Phone 8.1中不同线程的Windows.UI.Xaml.Controls.TextBox文本中读取文本 从txtUserName访问文本时,以下行引发异常 private void btnLogin_Click(object sender, RoutedEventArgs e) { if (txtUserName.Text.IsNull() || txtPassword.Text.IsNull()) return; var task = new Sy

如何从Windows Phone 8.1中不同线程的
Windows.UI.Xaml.Controls.TextBox
文本中读取文本

txtUserName
访问文本时,以下行引发异常

private void btnLogin_Click(object sender, RoutedEventArgs e)
{
    if (txtUserName.Text.IsNull() || txtPassword.Text.IsNull()) return;

    var task = new System.Threading.Tasks.Task(DoLoginAsync);

    task.Start();
}

private async void  DoLoginAsync()
{
    string userName = txtUserName.Text;
    string password = txtPassword.Text;

    var apiReq = new WebAPIRequest();
    var response = await apiReq.APIRequest<Request, Response>(Action.LogIn, new Request { UserName = userName, Password = password });
    // Code..
}
private void btnLogin\u单击(对象发送方,路由目标)
{
if(txtsername.Text.IsNull()| | txtPassword.Text.IsNull())返回;
var task=new System.Threading.Tasks.task(DoLoginAsync);
task.Start();
}
专用异步void DoLoginAsync()
{
字符串userName=txtUserName.Text;
字符串密码=txtPassword.Text;
var apiReq=新的webapireq();
var response=wait apiReq.APIRequest(Action.LogIn,新请求{UserName=UserName,Password=Password});
//代码。。
}

为什么要创建和启动新线程?不需要它,只需在btnLogin\u中添加“async”,然后单击并等待您的DoLoginAsync方法。

为什么要创建并启动新线程?不需要它,只需在btnLogin\u中添加“async”,然后单击并等待您的DoLoginAsync方法。

为什么要创建并启动新线程?不需要它,只需在btnLogin\u中添加“async”,然后单击并等待您的DoLoginAsync方法。

为什么要创建并启动新线程?不需要它,只需将“async”添加到btnLogin\u单击并等待您的DoLoginAsync方法