【发布时间】:2017-09-21 21:10:50
【问题描述】:
我有一个用作服务的 WinForms 应用程序(因此没有实际的 UI),但它是一个 WinForms 应用程序。
在此应用程序中,我有一个具有 ElementHost 的表单,而在 elementHost 中,我有一个 WPF 网格。
在我的一门课程中,我有以下代码:
Dim frm1 As New frmHostWpfGrid '->HERE I get the error
frm1.WpfGrid.WpfGridControl.BeginDataUpdate()
frm1.WpfGrid.WpfGridControl.ItemsSource = Nothing
frm1.WpfGrid.WpfGridControl.RestoreLayoutFromStream(LayoutStream)
frm1.WpfGrid.WpfGridControl.ItemsSource = mdtData
frm1.WpfGrid.WpfGridControl.EndDataUpdate()
我得到的错误是:
调用线程必须是 STA,因为许多 UI 组件都需要这个。
当我尝试使用 WinForms 表单和网格时,我没有遇到这个问题。
PS1。请注意,我不想显示表单
PS2。我试图直接填充没有表单的 WPF 网格,但我得到了同样的错误
【问题讨论】:
标签: wpf vb.net elementhost