J'essaie d'accéder aux propriétés d'en-tête d'un contrôle TreeView
dans la méthode DoWork
d'un agent de fond.WPF Transférer TreeView à la méthode DoWork d'un arrière-plan
J'ai essayé ce qui suit:
var worker = new BackgroundWorker();
worker.DoWork += DoWork;
worker.RunWorkerAsync(MyTreeView);
private void DoWork(object sender, DoWorkEventArgs e)
{
var x = (e.Argument as TreeView);
var item1 = x.Items[0] as TreeViewItem;
//error here..
var headerItem1 = item1.Header;
}
L'erreur qui est jetée dit que la propriété que je veux accéder appartient à un autre thread (le thread d'interface utilisateur dans mon cas).
J'ai rencontré ce problème uniquement avec le contrôle TreeView
jusqu'à présent. Passer et ensuite accéder à moins de contrôles «complexes» comme Labels
ou TextBlocks
a bien fonctionné.
Merci pour chaque réponse.
Il est possible que vous ayez à gérer plus de données dans un TreeView que vous étiez avec un contrôle Label ou TextBlock. Copie possible de [https://stackoverflow.com/q/9732709/6026377]https://stackoverflow.com/q/9732709/6026377) –