如何将"Invoke"方法添加到我的项目中?



我找不到可以安装Invoke方法的正确的Nuget数据包。我有一个WPF GUI,并且有一个单独的线程,需要在列表框中更新项目。我需要"调用"方法才能更改列表框中的项目。

    public void displayPlayers(string players)
    {
        //spliting all the names.
        string[] names = players.Split(", ".ToCharArray());
        //Displaying the names.
        foreach (string name in names)
            this.Invoke((MethodInvoker)(() => playersListBox.Items.Add(name)));
    }

使用Dispatcher.Invoke()方法。它可以通过Application类(请参阅更多(或控件本身访问。有关更多信息,请参见:dispatcher.invoke

这对我有用:

await System.Windows.Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.ContextIdle, new Action(() =>
{
    playersListBox.Items.Add(name);
}));

或不等待:

System.Windows.Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.ContextIdle, new Action(() =>
{
    playersListBox.Items.Add(name);
})).Wait();

相关内容

  • 没有找到相关文章

最新更新