2011-06-01 48 views
0

這是我的一般問題的一個例子:如何製作編輯不同型號設置的視圖?

我有不同的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

是的。在WPF或Silverlight中,您可以爲ITextSearcher的各種實例創建一個DataTemplate。然後,您可以使用DataTemplateSelector挑給出的ITextSearcher

既然你標記MVVM後一個實例我假設你適當的DataTemplate使用WPF

相關問題