C# backgroundworker只在一个页面上工作,而不在另一个页面上工作

C# backgroundworker只在一个页面上工作,而不在另一个页面上工作,c#,wpf,mvvm,C#,Wpf,Mvvm,我有一个绑定到视图的mvvm类的背景,在mvvm构造函数中有一个backgroundworker,这样我可以在加载页面时执行一些长事件。 那个backgroundworker在我的电脑上运行程序时工作得很好,但在另一台电脑上它不工作。 另外,当我复制实现这个backgroundworker的代码时,对另一个页面做了一些小的更改,但在第二个页面和第一个页面中都不起作用 public CompoundsViewModel() { BackgroundWorker b

我有一个绑定到视图的mvvm类的背景,在mvvm构造函数中有一个backgroundworker,这样我可以在加载页面时执行一些长事件。 那个backgroundworker在我的电脑上运行程序时工作得很好,但在另一台电脑上它不工作。 另外,当我复制实现这个backgroundworker的代码时,对另一个页面做了一些小的更改,但在第二个页面和第一个页面中都不起作用

    public CompoundsViewModel()
    {

        BackgroundWorker background = new BackgroundWorker();
        background.DoWork += BackgroundDoWork;
        background.RunWorkerAsync();
    }

    void BackgroundDoWork(object sender, DoWorkEventArgs e)
    {
        FillCompounds();
        IsBusy = false;
    }

实际上,在这两种情况下都会触发dowork事件,但是视图在一种情况下没有生效,而在另一种情况下成功生效

您必须共享
FillCompounds()
方法-可能存在问题。共享它是什么意思?
它不起作用
这到底是什么意思?抛出异常?撞车?你试过调试代码吗<代码>对另一页几乎没有更改有什么更改?你的问题很模糊。请添加更多详细信息。没有崩溃,没有异常,只是在backgroundworker中执行的事件没有影响视图。这些更改是关于fillcomponents()中使用的数据库表的。您是否尝试设置断点以查看
fillcomponents()中发生的情况?