Пример #1
0
        private void RemoveToolbarItem(ToolbarItemViewModel item)
        {
            item.PropertyChanged -= ToolbarItemViewModel_PropertyChanged;

            ToolbarItems.Remove(toolbarItemMapping[item]);
            toolbarItemMapping.Remove(item);
        }
Пример #2
0
        private void AddToolbarItem(ToolbarItemViewModel item)
        {
            ToolbarItem nativeItem = new ToolbarItem()
            {
                Text = item.Title, Icon = item.Icon, Order = (Xamarin.Forms.ToolbarItemOrder)item.Order, Priority = item.Priority, Command = item.Command
            };

            item.PropertyChanged += ToolbarItemViewModel_PropertyChanged;

            ToolbarItems.Add(nativeItem);
            toolbarItemMapping.Add(item, nativeItem);
        }
Пример #3
0
        private void ToolbarItemViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            ToolbarItemViewModel item = sender as ToolbarItemViewModel;

            switch (e.PropertyName)
            {
            case "Title": toolbarItemMapping[item].Text = item.Title; break;

            case "Icon": toolbarItemMapping[item].Icon = item.Icon; break;

            case "Order": toolbarItemMapping[item].Order = (Xamarin.Forms.ToolbarItemOrder)item.Order; break;

            case "Priority": toolbarItemMapping[item].Priority = item.Priority; break;

            case "Command": toolbarItemMapping[item].Command = item.Command; break;
            }
        }
Пример #4
0
        public ActionsCategoryViewModel()
            : base(Properties.Resources.MyActionsText, "\xE950", Properties.Resources.AddonDescriptionText, EarTrumpetActionsAddon.Current.Manifest.Id, new ObservableCollection <SettingsPageViewModel>())
        {
            // Get a 'fresh' copy so that we can edit the objects and still go back later.
            var actions = EarTrumpetActionsAddon.Current.Actions;

            EarTrumpetActionsAddon.Current.Actions = EarTrumpetActionsAddon.Current.Actions;

            Pages.AddRange(actions.Select(a => new EarTrumpetActionViewModel(this, a)));
            Pages.Add(new ImportExportPageViewModel(this));

            Toolbar = new ToolbarItemViewModel[] { new ToolbarItemViewModel {
                                                       Command = new RelayCommand(() =>
                    {
                        var vm = new EarTrumpetActionViewModel(this, new EarTrumpetAction {
                            DisplayName = Properties.Resources.NewActionText
                        });
                        vm.IsWorkSaved = false;
                        vm.IsPersisted = false;

                        vm.PropertyChanged += (_, e) =>
                        {
                            if (e.PropertyName == nameof(vm.IsSelected) &&
                                vm.IsSelected && !Pages.Contains(vm))
                            {
                                Pages.Insert(0, vm);
                            }
                        };

                        Selected = vm;
                    }),
                                                       DisplayName   = Properties.Resources.NewActionText,
                                                       Glyph         = "\xE948",
                                                       GlyphFontSize = 15,
                                                   } };

            if (Pages.Count == 2)
            {
                Toolbar[0].Command.Execute(null);
            }
        }