1

首先,我是 WPF 和 MVVM 的新手。我有一个这样的界面

Interface IItemType
{
  bool save()
}

我有三个具体的类,它们是从这个接口继承的

Public Class Type1:IItemType
{
   public bool save()
   {
     //save something with method 1
   }
}

Public Class Type2:IItemType
{
   public bool save()
   {
     //save something with method 2
   }
}

我的视图中有三个单选按钮(它们将来可以扩展到 4,5 或更多),我想通过选择其中一个单选按钮来选择保存方法(类Type1或)。Type2问题是如何将这些 Radios 绑定到我的 ViewModel 以不违反 OCP 等模式设计(因为将来我想添加更多类型和 Radios)?

满足 MVVM 最佳实践设计?

** 编辑 **

想象一下我有以下属性

Public IItemType CurrentType { get; set; }

我想在Type1选择第一个 Radio 时将 ClassType2放入 CurrentType 属性,并在选择第二个 Radio 时将 Class 放入 CurrentType 属性,依此类推。

4

2 回答 2

2

为什么不使用 RelayCommand 模式

阅读有关完整模式的详细信息:具有模型-视图-视图模型设计模式的 WPF 应用程序 public class RelayCommand : ICommand { //code realted Icommand interface }

RelayCommand _saveCommand;
public ICommand SaveCommand
{
    get
    {
        if (_saveCommand == null)
        {
            _saveCommand = new RelayCommand(param => this.Save(),
                param => this.CanSave );
        }
        return _saveCommand;
    }
}

绑定命令如

<Hyperlink Command="{Binding Path=SaveCommand}">
于 2012-11-02T05:55:20.593 回答
0

从列表中选择单个项目时,ComboBox 是一个不错的选择。以下是有关在 WPF 中使用 ComboBox 进行数据绑定的一些信息。 将 WPF ComboBox 绑定到自定义列表

于 2012-11-02T05:52:05.793 回答