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);
            }
        }
Exemplo n.º 3
0
        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());
        }