Esempio n. 1
0
        private bool ProcessChanged(EDOUnitVM edoUnit, object newValue, object oldValue)
        {
            MenuItemVM newMenuItem = newValue as MenuItemVM;
            MenuItemVM oldMenuItem = oldValue as MenuItemVM;

            if (newMenuItem == null)
            {
                return(false);
            }
            //同じアイテムが選択された場合は以降の処理は行わない(エラーが発生して戻す場合に無限ループになるのを防ぐ)
            if (newMenuItem == edoUnit.SelectedMenuItem)
            {
                return(false);
            }

            if (oldMenuItem != null)
            {
                if (!oldMenuItem.validate())
                {
                    this.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        oldMenuItem.IsSelected = true;
                    }));
                    return(false);
                }
            }

            edoUnit.SelectedMenuItem = newMenuItem;
            edoUnit.SetStatusMessage(newMenuItem.Title, false);
            return(true);
        }
Esempio n. 2
0
        public bool ValidateCurrentItem()
        {
            MenuItemVM menuItem = this.SelectedMenuItem;

            if (menuItem == null)
            {
                return(true);
            }
            return(menuItem.validate());
        }