0

Threadサードパーティからオブジェクトを取得してlistAPIに保存する があります。私の意図は、内部にノードを表示することですが、これまでのところ成功していません。TreeViewList<TreeView>TreeViewGUI

私はほとんどすべての種類のDispatcher.Invokeものを試したので、イベントを発生させて何とかオブジェクトを渡す必要があると思いますがList<TreeView>、その方法についての手がかりがありません。とにかく、私の目標はTreeView、UI スレッドとは異なるスレッドから更新することです。

前もって感謝します。

PS: 私はオンWPF .NET 4です。

私の最近の試み:

private void runButton_Click(object sender, RoutedEventArgs e) 
{
    if (PfUtils.isAPIConnected() && !GUIlocked) 
    {
        this.lockGUI();
        paralell_thread = new Thread(new ThreadStart(RunPowerFlowSimulation));
        paralell_thread.IsBackground = true;
        paralell_thread.Name = "RunPowerFlow";
        paralell_thread.ApartmentState = ApartmentState.STA;
        paralell_thread.Start();
        mainTabPanel.SelectedIndex = 1;
    }
}

private void RunPowerFlowSimulation() 
{
    PfUtilsUtilsExtended pf = new PfUtilsUtilsExtended();
    pf.performLoadFlow(statusLabel, pgbar1);
    TreeView tv = pf.gerRelevantObjects(PfUtils.GetActiveProject(), statusLabel, pgbar1);
    tv.Dispatcher.Invoke(new Action(() => { objectTreeView.ItemsSource = tv.Items; }));

    this.UnLockGUI();
}
4

0 に答える 0