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); }