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

How to add "Invoke" method to my project?

我找不到合适的 NuGet 数据包来安装调用方法。 我有一个 wpf GUI,我有一个单独的线程需要更新列表框中的项目。我需要 "Invoke" 方法来更改列表框中的项目。

    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 class (see more) or on the control itself. For more info see: 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();