gpt4 book ai didi

windows-phone-7 - Windows Phone 7 上的 Dispatcher.Invoke()?

转载 作者:行者123 更新时间:2023-12-04 22:35:28 25 4
gpt4 key购买 nike

在回调方法中,我试图获取 textBox 的 text 属性,如下所示:

string postData = tbSendBox.Text;

但是因为它不是在 UI 线程上执行的,所以它给了我一个跨线程异常。

我想要这样的东西:
Dispatcher.BeginInvoke(() =>
{
string postData = tbSendBox.Text;
});

但这是异步运行的。同步版本是:
Dispatcher.Invoke(() =>
{
string postData = tbSendBox.Text;
});

但是 Windows Phone 不存在 Dispatcher.Invoke()。有什么等价的吗?有不同的方法吗?

这是整个功能:
public void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;

// End the operation
Stream postStream = request.EndGetRequestStream(asynchronousResult);

string postData = tbSendBox.Text;

// Convert the string into a byte array.
byte[] byteArray = Encoding.UTF8.GetBytes(postData);

// Write to the request stream.
postStream.Write(byteArray, 0, postData.Length);
postStream.Close();

// Start the asynchronous operation to get the response
request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
}

最佳答案

不,你是对的,你只能访问异步的。为什么要同步,因为您在 UI 的不同线程上?

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
string postData = tbSendBox.Text;
});

关于windows-phone-7 - Windows Phone 7 上的 Dispatcher.Invoke()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com