我是 MVMM Light 工具包的新手(注意,我在 .NET 3.5 上使用 Light)。到目前为止,我真的开始喜欢这种模式,除了两个挑战。
我想在我的应用程序中为某些类型的页面提供可重用的 XAML 模板。想想电影票亭。主要内容在中心,但几乎总是屏幕上某处的一个按钮,用于取消或返回。我希望有可重复使用的网格,当我创建一个新页面时,我基本上会导入该网格布局,而不必担心常见的位,可以只专注于我的部分。做一些研究,我觉得
<ContentPresenter>
可能是去这里的方式,但它对我来说仍然很陌生。假设我在第一个挑战中取得成功,我认为这些常见项目(例如
Cancel
按钮)的数据上下文将位于该页面的 ViewModel 之外的其他位置,以避免大量重复代码。那是采用单个控件并从 XAML 引用不同视图模型的最佳方法吗?就像是...<Button ... DataContext={Binding CommonStuffVM, Source={StaticResource Locator}} />