Exemple #1
0
 public ViewModel()
 {
     Items = new MVVMObservableCollection <Item> ()
     {
         new Item("小明", 18, "光明小学", "三好学生"),
         new Item("小刚", 20, "复兴中学", "优秀班干部"),
         new Item("吉姆格林", 19, "光明小学", "吉姆做了汽车公司经理"),
         new Item("李雷", 25, "复兴中学", "不老实的家伙"),
         new Item("韩梅梅", 22, "光明小学", "在一起")
     };
     OnAdd = new MVVMRelayCommand(value => {
         AddView addView     = Object.Instantiate(Resources.Load <AddView> ("ItemsControl/WindowAdd"));
         addView.Item        = new Item();
         MVVMControl control = addView.Build();
         addView.OnConfirm   = () => {
             Items.Add(control.DataContext.GetTargetValue <AddViewModel> ().Item);
         };
     });
     OnEdit = new MVVMRelayCommand(value => {
         AddView addView     = Object.Instantiate(Resources.Load <AddView> ("ItemsControl/WindowAdd"));
         Item item           = (Item)value;
         addView.Item        = item.Clone();
         MVVMControl control = addView.Build();
         addView.OnConfirm   = () => {
             Items[Items.IndexOf(item)] = control.DataContext.GetTargetValue <AddViewModel> ().Item;
         };
     });
     OnDelete = new MVVMRelayCommand(value => {
         Item item = (Item)value;
         Items.Remove(item);
     });
 }
        public MainWindowViewModel(ILogger logger)
        {
            _logger = logger;

            FetchRobotList();
            FetchCommandsAvailable();

            //init wpf commands
            PlayCommand   = new MVVMRelayCommand(PlayCommand_Execute, PlayCommand_CanExecute);
            ReplayCommand = new MVVMRelayCommand(ReplayCommand_Execute, ReplayCommand_CanExecute);

            //init in memory collection of robot commands
            ExecutedCommandText = new ObservableCollection <string>();
        }
 public Form1ViewModel()
 {
     OnAdd = new MVVMRelayCommand(value => {
         FormAdd formAdd         = new FormAdd();
         MVVMControlBase control = formAdd.Build();
         if (formAdd.ShowDialog() == DialogResult.OK)
         {
             Items.Add(control.DataContext.GetTargetValue <FormAddViewModel> ().Item);
         }
     });
     OnEdit = new MVVMRelayCommand <Item> (value => {
         FormAdd formAdd         = new FormAdd(value.DeepClone());
         MVVMControlBase control = formAdd.Build();
         if (formAdd.ShowDialog() == DialogResult.OK)
         {
             Items[Items.IndexOf(value)] = control.DataContext.GetTargetValue <FormAddViewModel> ().Item;
         }
     });
     OnDelete = new MVVMRelayCommand <Item> (value => {
         Items.Remove(value);
     });
 }