2010-01-06 53 views
0

在我創建的應用程序的框架中,我可以將多個「插件」添加到「工作空間」中,在那裏它們可以重新排列並重新排列必要時大小。我希望每個插件能夠通過WorkspaceManager(通過IWorkspaceManager接口公開)註冊WorkspaceParameters(全部插件共享的全局參數)類。當插件註冊一個全局參數時,WorkspaceManager首先檢查是否有一個名稱已經被註冊過,如果有,那麼該插件只是訂閱了一個通知,如果它改變了。如果它尚未用給定名稱創建,則會創建一個新名稱。該WorkspaceParameter類目前看起來是這樣的:使用Silverlight,PRISM和MVVM進行動態控制顯示

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的原理實現這個動態視圖?

回答