J'ai une application WinForms qui agit comme un service (donc pas d'interface utilisateur réelle), mais c'est une application WinForms.
Dans cette application, j'ai une forme qui a un ElementHost et dans l'élémentHost j'ai une grille WPF.
Dans une de mes classes, j'ai ce code:L'appel de winforms hébergeant la grille Wpf provoque une erreur
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()
L'erreur que je reçois est:
Le thread appelant doit être STA, parce que de nombreux composants de l'interface utilisateur exigent.
Lorsque j'ai essayé avec un formulaire WinForms et une grille, je n'ai pas eu ce problème.
PS1. Notez que je ne veux pas afficher le formulaire
PS2. J'ai essayé de remplir directement une grille WPF sans formulaire et j'ai eu la même erreur
Ma forme est juste une winforms, avec un élémentHost et dans l'élémentHost est une grille wpf. Pas de code derrière – Nianios