![]() |
1
2
好问题。正如Anderson Imes所说,您可以使用复合WPF,但如果您使用 Managed Extensibility Framework another question I asked 关于如何使用MEF实现您所说的功能。基本上,它使用MEF的可扩展性特性使应用程序资源可扩展,然后您的模块使用其数据模板(视图)来“扩展”应用程序资源。然后,只要将ViewModel添加到GUI中,WPF就会负责将视图应用到GUI中。我已经在这个模型上构建了一个应用程序,它运行得非常好。 使用此方法的好处是,您的app.xaml文件不必“了解”所有视图模块,您可以自由地按自己喜欢的方式分割应用程序(我更喜欢按功能,然后按层分割)。 |
![]() |
2
1
如果您使用Prism,则可以轻松实现您的目标: http://www.codeplex.com/CompositeWPF 有很多样品可以让你从那里开始。 Prism没有回答的唯一问题是ResourceDictionaries,但有几种方法可以解决这个问题,但我认为这是最好的方法: Composite WPF (Prism) module resource data templates 第一个答案会让你达到目的。您将在模块中失去一点设计时支持,但在运行时,所有内容都应该以这种方式正确组合在一起。 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 6 月前 |
![]() |
Barta · WPF MVVM不更新视图 7 月前 |
![]() |
Denis Ivanov · WPF控件在属性更改时不会更新 7 月前 |
![]() |
codymanix · WPF:TextBlock周围可见小边框? 7 月前 |
![]() |
Nostromo · 来自背景对象的工具提示 11 月前 |
![]() |
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 1 年前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |