private void OnSelectedItemChanged(IImgObject selectedObj) { var img = selectedObj as ImgImage; if (img != null) { var imgCtrl = new Image(); imgCtrl.BeginInit(); { imgCtrl.Source = img.GetImageSource(); imgCtrl.HorizontalAlignment = HorizontalAlignment.Left; imgCtrl.VerticalAlignment = VerticalAlignment.Top; } imgCtrl.EndInit(); ImgCanvas.Children.Clear(); ImgCanvas.Children.Add(imgCtrl); ImgCanvas.Width = img.Width; this.orgImgWidth = img.Width; ImgCanvas.Height = img.Height; this.orgImgHeight = img.Height; (this.DataContext as ImageDetailViewModel).TargetImage = img; } }
/// <summary> /// ツリービューで選択アイテムが変更されたときに呼ばれる /// </summary> /// <param name="selectedObj">選択アイテム</param> private void OnSelectedItemChanged(IImgObject selectedObj) { // プロパティペイン内の要素を一度すべて見えないようにする for (int i = 0; i< PropertyPane.Children.Count; i++) { PropertyPane.Children[i].Visibility = Visibility.Collapsed; } // 選択されたアイテムがイメージマスタ(イメージデータのルート)のとき if (selectedObj is ImgMaster) { // イメージマスタのプロパティビューにイメージマスタ教える ImgMasterPropertyView.SetImageMaster(selectedObj as ImgMaster); // イメージマスタのプロパティビューを表示する ImgMasterPropertyView.Visibility = Visibility.Visible; } else { // ダミー用の塗りつぶし矩形を表示する DummyRect.Visibility = Visibility.Visible; } }