2

我正在尝试为用户创建一个偏好窗口,他们可以操纵(更改偏好)。我想以适当的方式实现它,那么您对良好的代码架构有什么建议吗?顺便说一句,我正在使用带有 WPF 的 C# 的 MVVM 模式。

就像,使用将保存所有设置的首选项类......或类似的东西。

谢谢

4

1 回答 1

1

我鼓励你使用某种 MVVM 框架。

下面我将介绍使用 MVVM Light 的解决方案 - 免费的 MVVM 框架。

  1. 为选项创建新窗口,例如 OptionsWindow (.xaml & .cs)
  2. 为您的新窗口创建 ViewModel,例如 OptionsWindowViewModel
  3. 在您的主窗口中创建按钮:Command = {Binding CreateOptionsWindowCommand},在您的 MainViewModel 中:

public RelayCommand CreateOptionsWindowCommand { get; private set; }

在你的 ctor

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。消息传递用于类之间的通信。

于 2012-10-31T14:14:50.727 回答