我正在編寫一個MVVM結構後面的相當大的WPF應用程序。我想以基本上2種模式運行我的用戶界面。首先是正常的日常運作模式。第二個是我現在一直想知道的一個......我希望能夠在「配置」模式下運行它,用戶將看到UI的方式與正常方式大致相同模式,除了當他們將鼠標懸停在某個控件上時(或者點擊)一個彈出窗口。該彈出框允許用戶更改與該控件相關的某些綁定。我不想公開每個財產(或每個控制)。WPF MVVM:解耦視圖綁定和動態設置綁定
例如: 有一個TextBlock與壓力信號綁定,現在用戶想要將此綁定更改爲溫度信號。他們可以在配置模式下啓動UI,使用TextBlock導航到屏幕,選擇它,然後在彈出窗口中查看Text屬性,然後可以更改爲新的臨時信號。這是一個簡單的例子,但基本上我想要做的。
這可能嗎?記住用戶界面必須寫入視圖(XAML)。任何幫助表示讚賞。
P.S. 這將是一個非常有用但很少使用的功能。也許有兩個項目可以安裝相同的視圖,但不同的視圖模型和模型...至少這是我一直在想的可能是需要的。即使在使用配置模式UI後,必須重新編譯正常模式用戶界面。
在ViewModel級別處理此問題,而不是試圖破解用戶界面。您需要抽象您的視圖並創建這些「小部件」的模型表示。 UI不能被保存(例如在數據庫中)。因此你需要別的東西。 –
你說你想改變綁定,使它永久綁定到其他東西? – Daniel
否則,將XAML文件與應用程序一起部署(而不是編譯到),並在運行時用'XamlReader.Load()'或其他東西加載它們,然後您可以修改XAML文件(在磁盤上)。 –