Beispiel #1
0
        public void OnButtonClicked(object sender, EventArgs e)
        {
            ctrl.Feedback();

            // Remove dialog from screen
            ctrl.RemoveScreen(this);

            // Execute callback if there is one
            if (sender is Button)
            {
                messageBox.GiveResult(sender.Equals(btnView1) ? MessageBoxResult.FirstButton : MessageBoxResult.SecondButton);
            }
        }
        public void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            bool remove = false;

            if (activeObject == null)
            {
                return;
            }

            if (e.PropertyName.Equals("Commands"))
            {
                commands = ((Thing)activeObject).ActiveCommands;
            }

            // Check, if one of the visible entries changed
            if (!(e is PropertyChangedEventArgs) || (e is PropertyChangedEventArgs && properties.Contains(((PropertyChangedEventArgs)e).PropertyName)))
            {
                _refresh.Call(e.PropertyName);
            }

            // The object is set to not visible or not active, so it should removed from screen
            if (e.PropertyName.Equals("Visible") || e.PropertyName.Equals("Active"))
            {
                remove = !activeObject.Visible;
            }
            // The object is moved to nil, so it should removed from screen
            if (e.PropertyName.Equals("Container") && !(activeObject is Task) && ((Thing)activeObject).Container == null)
            {
                remove = true;
            }

            if (remove)
            {
                StopEvents();
                ctrl.RemoveScreen(this);
            }
        }