这是我一般问题的一个例子:
我有不同的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 ...
}
有更好的解决方案吗?
答案 0 :(得分:0)
是。在WPF或Silverlight中,您可以为ITextSearcher的各种实例创建DataTemplate
。然后,您可以使用DataTemplateSelector
在ITextSearcher
由于您使用MVVM标记了帖子,我假设您使用的是WPF