访问其他类的控件

时间:2013-09-17 14:18:29

标签: c# wpf exception

我有3个课程,他们被定义为公共部分课程。第一类是 MainWindow ,它用作主类,引用其他类。这是简短的代码:

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

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

Last class适用于LoginWindow中的WebBrowser。因此,如果我想使用WebBrowser,它会抛出一个错误,因为WebBrowser在 LoginWindow 中,因为我在Last类中,所以我无法访问它。那么,有没有办法从另一个类使用WebBrowser控件并且还有相同的数据呢?拜托,你能写信给我,我该怎么做或给我发一些链接?谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

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

配置容器时,在您的Bootstrapper中

    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-Unity-for-Dummie

祝你好运