我有3个课程,他们被定义为公共部分课程。第一类是 MainWindow ,它用作主类,引用其他类。这是简短的代码:
<Frame NavigationUIVisibility="Hidden" Source="LoginWindow.xaml">
下一课是 LoginWindow ,它定义了WebBrowser控件和按钮,它引用了Last类。
Last class适用于LoginWindow中的WebBrowser。因此,如果我想使用WebBrowser,它会抛出一个错误,因为WebBrowser在 LoginWindow 中,因为我在Last类中,所以我无法访问它。那么,有没有办法从另一个类使用WebBrowser控件并且还有相同的数据呢?拜托,你能写信给我,我该怎么做或给我发一些链接?谢谢你的回答。
答案 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
祝你好运