【问题标题】:Dynamic control display with Silverlight, PRISM, and MVVM带有 Silverlight、PRISM 和 MVVM 的动态控制显示
【发布时间】: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


    【解决方案1】:

    我建议您查看 Glenn Block 的一系列博客文章。 在上一篇文章中,他重构了他的解决方案以使用 mvvm 模式。 他大量使用 MEF,这是一个可扩展的框架。

    这是连续剧中的第 5 篇,请阅读所有这些,它可能基本上是您正在寻找的。​​p>

    http://msmvps.com/blogs/theproblemsolver/archive/2009/02/18/getting-started-with-the-repository-pattern-in-silverlight.aspx

    【讨论】:

      猜你喜欢
      • 2011-10-06
      • 2011-05-03
      • 2012-08-02
      • 2011-08-14
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 2012-08-12
      • 2012-06-27
      相关资源
      最近更新 更多