Exemplo n.º 1
0
        public void OnNavigatedTo(NavigationContext navigationContext)
        {
            if (navigationContext.Parameters[MetaItemGroupKey] is MetaItemGroup group)
            {
                MetaItemGroup.Value = group;

                // お気に入りタブなら所属名のカラムに幅を設ける(デフォで表示する)
                if (ImageMetasWithAll.IsAllGroup(group))
                {
                    IsShowGridViewColumn.TurnOn();
                }
            }
        }
        // メタ情報クラスからView用のTabを読み出し
        private void AddTab(ImageMetasWithAll imageMetas)
        {
            if (imageMetas is null)
            {
                throw new ArgumentNullException(nameof(imageMetas));
            }

            // Region追加時に選択が更新されてしまうので先にバフっとく
            var resumeTabTitle = TabControlSelectedTitle;
            var regionName     = MetaTabDetailsRegionName;

            // 登録済みRegionViewの削除(◆消した方が良さげだが動作未確認なので無効化)
            //if (_regionManager.Regions.ContainsRegionWithName(regionName))
            //    _regionManager.Regions[regionName].RemoveAll();

            foreach (var metaItemGroup in imageMetas.MetaItemGroups.Where(x => x != null))
            {
                var parameters = MetaTabDetailViewModel.GetNavigationParameters(metaItemGroup);
                _regionManager.RequestNavigate(regionName, nameof(MetaTabDetail), parameters);
            }
            // 画像の読み込み後の表示位置を指定(画像切り替え時用)
            ActivateRegion(regionName, resumeTabTitle);
        }