【问题标题】:How make a view for editing different models' settings?如何制作用于编辑不同模型设置的视图?
【发布时间】:2011-06-01 18:55:16
【问题描述】:

这是我的一般问题的一个例子:

我有不同的 ITextSearcher 实现来搜索东西。每个实现都有不同的设置,可由用户编辑。所以我不能为实现制作一个通用的可编辑视图(因为设置不能被接口抽象)。

我开发了一个简单的库来帮助解决这种情况。它允许以声明方式标记一个类及其带有视图信息的属性。视图生成器使用此信息来呈现类。这是一个例子:

[Editable]
internal class TermSearcher : ITextSearcher
{
    [Editable(Name="Search Expression", Order = 1)]
    public string Expression
    {...}

    [Editable(Name="Match Similar Characters", Order = 2)]
    public bool MatchSimilarChars
    {...}

    // rest of the implementation ...
}

有没有更好的解决方案?

【问题讨论】:

    标签: c# model-view-controller mvvm dependency-injection soa


    【解决方案1】:

    是的。在 WPF 或 Silverlight 中,您可以为 ITextSearcher 的各种实例创建 DataTemplate。然后,您可以使用DataTemplateSelector 在给定ITextSearcher 实例的情况下选择适当的DataTemplate

    既然你用 MVVM 标记了帖子,我假设你正在使用 WPF

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多