【发布时间】:2010-01-06 16:41:09
【问题描述】:
在我正在创建的应用程序的框架中,我可以将多个“插件”添加到“工作区”,在那里可以根据需要重新排列和调整大小。我希望每个插件都能够使用 WorkspaceManager(通过 IWorkspaceManager 接口公开)类注册 WorkspaceParameters(所有插件共享的全局参数)。当插件注册一个全局参数时,WorkspaceManager 首先检查是否已经注册了同名的参数,如果已经注册,则插件只是订阅以在它发生更改时收到通知。如果尚未使用给定名称创建它,则创建一个新名称。 WorkspaceParameter 类目前如下所示:
public class WorkspaceParameter
{
public string Label { get; set; }
public Type ParameterType { get; set; }
public object Value { get; set; }
}
然后我在应用程序中有一个视图,我想显示每个 WorkspaceParameter 以便用户能够更改值。 UI 应该基于每个 WorkspaceParameter 的 ParameterType 成员,并且所有参数都应该显示在 StackPanel 中。例如,如果 Type 是 DateTime,我想显示一个带有日历选择器的文本框。如果它是一个字符串,一个带有标签的简单文本框,最后现在,如果它是一个枚举类型,一个带有可用枚举选项的下拉列表。
如何使用 PRISM 和 MVVM 的原理来实现这个动态视图?
【问题讨论】:
标签: silverlight mvvm prism