2
我正在嘗試爲用戶創建一個首選項窗口,以供用戶操作(更改首選項)。 我想以適當的方式實現它,所以你有什麼好的代碼架構建議?順便說一句,我使用WPF的C#MVVM模式。如何使用MVVM爲用戶首選項創建程序體系結構
喜歡,使用偏好類,其中所有的設置將被保存...或類似的東西。
謝謝
我正在嘗試爲用戶創建一個首選項窗口,以供用戶操作(更改首選項)。 我想以適當的方式實現它,所以你有什麼好的代碼架構建議?順便說一句,我使用WPF的C#MVVM模式。如何使用MVVM爲用戶首選項創建程序體系結構
喜歡,使用偏好類,其中所有的設置將被保存...或類似的東西。
謝謝
我鼓勵你使用某種MVVM框架。
下面我將介紹MVVM Light-free MVVM框架的解決方案。
public RelayCommand CreateOptionsWindowCommand { get; private set; }
CreateOptionsWindowCommand = new RelayCommand(CreateOptionsWindowCommandExecute)
和功能:
private void CreateOptionsWindowCommandExecute()
{
OptionsWindow newOptionsWindow = new OptionsWindow();
OptionsWindowViewModel vm = new OptionsWindowViewModel();
newOptionsWindow.DataContext = vm;
newOptionsWindow.ShowDialog();
}
在新窗口中選擇所有綁定現在結合OptionsViewModel。
要檢索您在OptionsWindow中保存到您的MainViewModel的選項和數據,您可以使用在MVVM Light中實現的Messanging。 Messanging用於在課程之間進行交流。
是的,謝謝我忘了說我正在使用這個框架,我會試試這個報告。 – Georges
所以我綁定,可以說OptionsViewModel上的偏好項目,並通過'Messenger'發送給我的mainViewModel ...是否有可能使pereference對象(其中保存所有設置)某種全局?以更簡單的方式訪問它... – Georges
以及你可以考慮創建OptionsViewModel而不是作爲函數中的局部變量。它可能是您的MainViewModel中的屬性。您還可以在關於設計模式的書中找到很多這類問題的解決方案。 (C#設計模式 - O'Reilly非常好)。 – fex