/// <summary>
        /// Initializes a new instance of the <see cref="ViewModel"/> class.
        /// </summary>
        public ViewModel()
        {
            Actions = new ViewActionsCollection();
            Actions.CollectionChanged += (s, e) =>
            {
                if (ActionChangeNotificationActive && ActionsChanged != null)
                {
                    ActionsChanged(s, e);
                }
                else
                {
                    _actionsChangedSinceLatNotification = true;
                    if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.Replace)
                    {
                        if (_newActions == null)
                        {
                            _newActions = new List <IViewAction>();
                        }
                        foreach (var item in e.NewItems)
                        {
                            _newActions.Add(item as IViewAction);
                        }
                    }
                }
            };
            ActionChangeNotificationActive = true;

            ModelStatus          = ModelStatus.Unknown;
            OperationsInProgress = 0;
        }
        public RibbonData()
        {
            Actions = new ViewActionsCollection
            {
                new ViewAction("Save", groupTitle: "File") {Significance = ViewActionSignificance.AboveNormal, Visibility = Visibility.Collapsed, BrushResourceKey = "CODE.Framework-Icon-Save"},
                new ViewAction("Change Save Visibility", groupTitle: "File", execute: (a, o) => Actions["Save"].Visibility = Actions["Save"].Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible) {Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Settings"},
                new ViewAction("The quick brown fox jumps over the lazy dog", groupTitle: "File", canExecute: (o, e) => false) {Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Shop"},
                
                new ViewAction("Enable/Disable", category: "Page 2", execute: (s, e) => Actions["Two B"].InvalidateCanExecute()) {Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Read"},
                new ViewAction("Two B", category: "Page 2", canExecute: (a, e) =>
                {
                    if (a.Caption == "Two B")
                    {
                        a.Caption = "Two BX";
                        return false;
                    }
                    a.Caption = "Two B";
                    return true;
                }) {Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Remote"},
                new ViewAction("Three B", category: "Page 2") {Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-RotateCamera"},

                new ViewAction("Example Button", category: "Custom Views") {ActionView = new Button{Content = "Test", Margin = new Thickness(5)}},
                new ViewAction("Font Controls", execute: (a, o) => { /* Launch an action UI */ }, category: "Custom Views", beginGroup: true, groupTitle: "Format") {ActionView = new FontControls()},
                new ViewAction("Example List", category: "Custom Views", beginGroup: true, groupTitle: "List") {ActionView = new ExampleListInRibbon(), ActionViewModel = new RibbonListViewModel()}
            };
        }
Beispiel #3
0
        public RibbonData()
        {
            Actions = new ViewActionsCollection
            {
                new ViewAction("Save", groupTitle: "File")
                {
                    Significance = ViewActionSignificance.AboveNormal, Visibility = Visibility.Collapsed, BrushResourceKey = "CODE.Framework-Icon-Save"
                },
                new ViewAction("Change Save Visibility", groupTitle: "File", execute: (a, o) => Actions["Save"].Visibility = Actions["Save"].Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible)
                {
                    Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Settings"
                },
                new ViewAction("The quick brown fox jumps over the lazy dog", groupTitle: "File", canExecute: (o, e) => false)
                {
                    Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Shop"
                },

                new ViewAction("Enable/Disable", beginGroup: true, category: "Page 2", execute: (s, e) => Actions["Two B"].InvalidateCanExecute())
                {
                    Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Read"
                },
                new ViewAction("Two B", category: "Page 2", canExecute: (a, e) =>
                {
                    if (a.Caption == "Two B")
                    {
                        a.Caption = "Two BX";
                        return(false);
                    }
                    a.Caption = "Two B";
                    return(true);
                })
                {
                    Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-Remote"
                },
                new ViewAction("Three B", category: "Page 2")
                {
                    Significance = ViewActionSignificance.AboveNormal, BrushResourceKey = "CODE.Framework-Icon-RotateCamera"
                },

                new ViewAction("Example Button", category: "Custom Views")
                {
                    ActionView = new Button {
                        Content = "Test", Margin = new Thickness(5)
                    }
                },
                new ViewAction("Font Controls", execute: (a, o) => { /* Launch an action UI */ }, category: "Custom Views", beginGroup: true, groupTitle: "Format")
                {
                    ActionView = new FontControls()
                },
                new ViewAction("Example List", category: "Custom Views", beginGroup: true, groupTitle: "List")
                {
                    ActionView = new ExampleListInRibbon(), ActionViewModel = new RibbonListViewModel()
                }
            };
        }
Beispiel #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewModel"/> class.
        /// </summary>
        public ViewModel()
        {
            Actions = new ViewActionsCollection();
            Actions.CollectionChanged += (s, e) =>
                {
                    if (ActionChangeNotificationActive && ActionsChanged != null)
                        ActionsChanged(s, e);
                    else
                    {
                        _actionsChangedSinceLatNotification = true;
                        if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.Replace)
                        {
                            if (_newActions == null) _newActions = new List<IViewAction>();
                            foreach (var item in e.NewItems)
                                _newActions.Add(item as IViewAction);
                        }
                    }
                };
            ActionChangeNotificationActive = true;

            ModelStatus = ModelStatus.Unknown;
            OperationsInProgress = 0;
        }