Example #1
0
        /// <summary>
        /// The initialize.
        /// </summary>
        /// <param name="item">
        /// The item.
        /// </param>
        /// <param name="groupName">
        /// The group name.
        /// </param>
        /// <param name="favoriteList">
        /// The favorite list.
        /// </param>
        public void Initialize(NavigationItemInfo item, string groupName, IFavoriteList<IFavoriteInfo> favoriteList = null)
        {
            Model = item;
            Name = item.Name;
            GroupName = groupName;

            BackgroundColor = ColorUtils.GetGradientBrush(Colors.White.Lerp(item.BackgroundColor.ToColor(), 0.7f), item.BackgroundColor.ToColor());
            BorderBrush = new SolidColorBrush(item.BackgroundColor.ToColor().Lerp(Colors.White, 0.5f));
            if (favoriteList != null)
            {
                foreach (var f in favoriteList.Where(f => f.ProcessSystemName == GetProcessName()))
                {
                    _isFavorite = true;
                    _favoriteId = f.Id;
                    break;
                }
            }

            LoadIcon();
        }
Example #2
0
        /// <summary>
        /// Initializes the specified group.
        /// </summary>
        /// <param name="group">
        /// The group.
        /// </param>
        /// <param name="favoriteList">
        /// </param>
        public void Initialize(NavigationGroupInfo @group, IFavoriteList<IFavoriteInfo> favoriteList = null)
        {
            Model = group;

            _items.Filter += ItemsFilter;

            this.NavItems = new ObservableCollection<NavItemViewModel>();

            foreach (var item in group.NavigationItems)
            {
                if (NavItems.Any(x => x.Name == item.Name))
                    continue;

                var newItem = ItemFactory[0].CreateExport().Value;
                newItem.Initialize(item, Model.Name, favoriteList);
                this.NavItems.Add(newItem);
            }

            _items.Source = this.NavItems;

            this.Width = this.CalculateWith();

            RaisePropertyChanged(() => Items);
        }