1

这让我痛苦了一段时间。

我知道 Prism 将视图注入到区域中,但是有没有办法在视图优先的基础上对 Cinch 做类似的事情?例如,我有一个容器(实际上是一个区域),它可以在运行时包含任何视图——我不想在 XAML 中显式设置视图,因为这会加载它,而且有点混乱。有没有我可以用来做这个的容器?我该怎么做呢?(不必特定于 Cinch ..)

谢谢。

4

1 回答 1

1

为了回答我自己的问题,我发现 Prism v4 提供了一个有用的解决方案 - 一个名为 RequestNavigate 的 RegionExtension。

我使用 RequestNavigate 打开一个新窗口(查看 StockTrader RI),但是如果遵循正确的 MVVM 方法,这似乎非常麻烦。相反,我决定使用 WPF 扩展工具包中的 ChildWindow 类,您可以在其中纯粹绑定到“WindowState”(打开/关闭)属性,并在 XAML 中指定其他所有内容。

我还使用 RequestNavigate 将视图注入区域 - 我现在使用 MEF(当时我使用 Unity)。我发现这种方法更加灵活,即使在调试方面有点“神奇”。

于 2011-01-18T10:36:16.537 回答