コード例 #1
0
        static void BindAppBar(DependencyObject view)
        {
            var page = view as PhoneApplicationPage;

            if (page == null || page.ApplicationBar == null)
            {
                return;
            }

            var triggers = Interaction.GetTriggers(view);

            foreach (var item in page.ApplicationBar.Buttons)
            {
                var button = item as IAppBarActionMessage;
                if (button == null || string.IsNullOrEmpty(button.Message))
                {
                    continue;
                }

                var parsedTrigger  = Parser.Parse(view, button.Message).First();
                var trigger        = new AppBarItemTrigger(button);
                var actionMessages = parsedTrigger.Actions.OfType <ActionMessage>().ToList();
                actionMessages.Apply(x => {
                    x.applicationBarSource = button;
                    parsedTrigger.Actions.Remove(x);
                    trigger.Actions.Add(x);
                });

                triggers.Add(trigger);
            }

            foreach (var item in page.ApplicationBar.MenuItems)
            {
                var menuItem = item as IAppBarActionMessage;
                if (menuItem == null || string.IsNullOrEmpty(menuItem.Message))
                {
                    continue;
                }

                var parsedTrigger  = Parser.Parse(view, menuItem.Message).First();
                var trigger        = new AppBarItemTrigger(menuItem);
                var actionMessages = parsedTrigger.Actions.OfType <ActionMessage>().ToList();
                actionMessages.Apply(x => {
                    x.applicationBarSource = menuItem;
                    parsedTrigger.Actions.Remove(x);
                    trigger.Actions.Add(x);
                });

                triggers.Add(trigger);
            }
        }
コード例 #2
0
        static void BindAppBar(DependencyObject view) {
            var page = view as PhoneApplicationPage;
            if (page == null || page.ApplicationBar == null) {
                return;
            }

            var triggers = Interaction.GetTriggers(view);

            foreach(var item in page.ApplicationBar.Buttons) {
                var button = item as IAppBarActionMessage;
                if (button == null || string.IsNullOrEmpty(button.Message)) {
                    continue;
                }

                var parsedTrigger = Parser.Parse(view, button.Message).First();
                var trigger = new AppBarItemTrigger(button);
                var actionMessages = parsedTrigger.Actions.OfType<ActionMessage>().ToList();
                actionMessages.Apply(x => {
                    x.applicationBarSource = button;
                    parsedTrigger.Actions.Remove(x);
                    trigger.Actions.Add(x);
                });
                
                triggers.Add(trigger);
            }

            foreach (var item in page.ApplicationBar.MenuItems) {
                var menuItem = item as IAppBarActionMessage;
                if (menuItem == null || string.IsNullOrEmpty(menuItem.Message)) {
					continue;
                }

                var parsedTrigger = Parser.Parse(view, menuItem.Message).First();
                var trigger = new AppBarItemTrigger(menuItem);
                var actionMessages = parsedTrigger.Actions.OfType<ActionMessage>().ToList();
                actionMessages.Apply(x => {
                    x.applicationBarSource = menuItem;
                    parsedTrigger.Actions.Remove(x);
                    trigger.Actions.Add(x);
                });

                triggers.Add(trigger);
            }
        }