如何创建用于编辑不同模型的视图';设置
本文关键字:视图 模型 设置 何创建 创建 编辑 用于 | 更新日期: 2023-09-27 17:58:06
这是我的一般问题的一个例子:
我有不同的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 ...
}
有更好的解决方案吗?
是。在WPF或Silverlight中,您可以为ITextSearcher的各种实例创建DataTemplate
。然后,您可以使用DataTemplateSelector
在给定ITextSearcher
实例的情况下选择适当的DataTemplate
由于您使用MVVM标记了帖子,我假设您使用的是WPF