【发布时间】:2011-01-16 00:25:47
【问题描述】:
我从 MVVM 开始,并且开始理解事物。我目前正在试验 Cinch 框架,但我还没有承诺。
我通过在视图的代码隐藏中引用 ViewModel 将 ViewModels 注入到 Views 中,属性上有一个 [Dependency],并在 setter 中使用 Unity 将 DataContext 设置为正确的视图。巧妙的把戏,我想。
我试图让我的应用程序作为单个窗口工作,并注入视图(与多个窗口相反并处理打开\关闭它们) 我将视图从 Windows 更改为 UserControls,并在主窗口中添加了一个。 这行得通,但从未注入 ViewModel,大概是因为 XAML 不使用 Container.Resolve 创建视图,因为当我创建视图并使用 Resolve 在代码隐藏中手动添加时,创建了 [Dependency] .
我如何设置我的窗口,以便如果我通过 XAML 添加视图,或者视图由于 UI 操作等而发生更改,它可以通过 Unity 获取它,以便它可以发挥它的魔力?
【问题讨论】:
标签: xaml mvvm dependency-injection unity-container cinch