Ejemplo n.º 1
0
    public MenuViewModel(IEnumerable<DockWindowViewModel> dockWindows)
    {
      var view = this.ViewMenuItemViewModel = new MenuItemViewModel() { Header = "Views" };

      foreach (var dockWindow in dockWindows)
        view.Items.Add(GetMenuItemViewModel(dockWindow));

      var items = new List<MenuItemViewModel>();
      items.Add(view);
      this.Items = items;
    }
Ejemplo n.º 2
0
        public MenuViewModel(IEnumerable <DockWindowViewModel> dockWindows)
        {
            var view = this.ViewMenuItemViewModel = new MenuItemViewModel()
            {
                Header = "Views"
            };

            foreach (var dockWindow in dockWindows)
            {
                view.Items.Add(GetMenuItemViewModel(dockWindow));
            }

            var items = new List <MenuItemViewModel>();

            items.Add(view);
            this.Items = items;
        }
Ejemplo n.º 3
0
    private MenuItemViewModel GetMenuItemViewModel(DockWindowViewModel dockWindowViewModel)
    {
      var menuItemViewModel = new MenuItemViewModel();
      menuItemViewModel.IsCheckable = true;

      menuItemViewModel.Header = dockWindowViewModel.Title;
      menuItemViewModel.IsChecked = !dockWindowViewModel.IsClosed;

      dockWindowViewModel.PropertyChanged += (o, e) =>
      {
        if (e.PropertyName == nameof(DockWindowViewModel.IsClosed))
          menuItemViewModel.IsChecked = !dockWindowViewModel.IsClosed;
      };

      menuItemViewModel.PropertyChanged += (o, e) =>
      {
        if (e.PropertyName == nameof(MenuItemViewModel.IsChecked))
          dockWindowViewModel.IsClosed = !menuItemViewModel.IsChecked;
      };

      return menuItemViewModel;
    }