public DoubleImageTabItem(IContainerExtension container, IRegionManager regionManager) { InitializeComponent(); int count = 2; for (int i = 0; i < count; i++) { var view = container.Resolve <ImagePanel>(); view.SetContentIndex(i); regionManager.RegisterViewWithRegion( RegionNames.GetImageContentRegionName(count, i), () => view); } // NG:以下では登録できるがViewModelに引数を渡せない //regionManager.RegisterViewWithRegion("Image2ContentRegion", typeof(ImagePanel)); // NG:以下で登録しようとするとRegionが見つからないと言われる謎 //regionManager.AddToRegion("Image2ContentRegion", container.Resolve<ImagePanel>()); // NG:以下で登録しようとするとRegionが見つからないと言われる謎 //regionManager.Regions["Image2ContentRegion"].Add(container.Resolve<ImagePanel>()); }
public TripleImageTabItem(IContainerExtension container, IRegionManager regionManager) { InitializeComponent(); int count = 3; for (int i = 0; i < count; i++) { var view = container.Resolve <ImagePanel>(); view.SetContentIndex(i); regionManager.RegisterViewWithRegion( RegionNames.GetImageContentRegionName(count, i), () => view); } }
public SingleImageTabItem(IContainerExtension container, IRegionManager regionManager) { InitializeComponent(); // 以下で動くが他画像に合わせる //regionManager.RegisterViewWithRegion(RegionNames.ImageContentRegion1_0, typeof(ImagePanel)); int count = 1; for (int i = 0; i < count; i++) { var view = container.Resolve <ImagePanel>(); view.SetContentIndex(i); regionManager.RegisterViewWithRegion( RegionNames.GetImageContentRegionName(count, i), () => view); } }
// 指定Indexに対応する画像RegionのViewを取得 private FrameworkElement GetRegionView(int index) { var regionName = RegionNames.GetImageContentRegionName(ContentCount, index); return(_regionManager.Regions[regionName].Views.Cast <FrameworkElement>().FirstOrDefault()); }