参考链接: https ://stackoverflow.com/a/1699709
我正在尝试使用序列化器/反序列化器通过 WCF 发送 WPF 用户控件。我怎样才能做到这一点。在服务器代理上进行调用时出现以下异常:“调用线程必须是 STA,因为许多 UI 组件都需要这个。” WPF中的错误?
代码片段:
private string userControlString;
private void OnAddCommand(object param)
{
Thread thread = new Thread(ProcessTheData);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
StringReader stringReader = new StringReader(userControlString);
XmlReader xmlReader = XmlReader.Create(stringReader);
UserDefinedControl = (UserControl)XamlReader.Load(xmlReader);
}
void ProcessTheData()
{
userControlString = service.WPFViaWCFControl();
}