0

我有 3 个类,它们被定义为public partial class。第一个类是MainWindow,它被用作一个主类,它引用其他类。这是短代码:

<Frame NavigationUIVisibility="Hidden" Source="LoginWindow.xaml">

下一个类是LoginWindow,它定义了 WebBrowser 控件和按钮,它引用了 Last 类。

最后一个类与 WebBrowser 一起使用,它位于 LoginWindow 中。因此,如果我想使用 WebBrowser,它会给我一个错误,因为 WebBrowser 在LoginWindow中,而我无法访问它,因为我在 Last class。那么,有什么方法可以使用另一个类的 WebBrowser 控件并且其中仍然有相同的数据?拜托,你能给我写信吗,我该怎么做或给我发一些链接?谢谢您的回答。

4

1 回答 1

1

这是使用 Prism 和 Unity IoC 容器的示例

配置容器时在引导程序中

    protected override void ConfigureContainer()
    {
        base.ConfigureContainer();

        this.Container.RegisterInstance<LoginWindowViewModel>(new LoginWindowViewModel());
    }

在您的第三个视图模型中,通过构造函数注入它:

public class ThirdWindowViewModel
{
    public ThirdWindowViewModel(LoginWindowViewModel viewModel)
    {
        // Do whatever you want
    }
}

也可以使用Resolve方法获取

Container.Resolve<LoginWindowViewModel>();

即使没有 mvvm,你仍然可以使用 Unity 作为依赖注入容器。

查看这篇文章:http ://www.codeproject.com/Articles/137968/Dependency-Injection-in-WPF-using-Uni​​ty-for-Dummie

祝你好运

于 2013-09-17T14:33:01.520 回答