public void SetTaskPaneViewModel(ViewModelBase vm) { if (TaskPane == null) { TaskPaneControl = new TreemapView((TreemapViewModel)vm); ElementHost host = new ElementHost { Child = TaskPaneControl }; host.Dock = DockStyle.Fill; UserControl userControl = new UserControl(); userControl.BackColor = Color.White; userControl.Controls.Add(host); TaskPane = Globals.ThisAddIn.CustomTaskPanes.Add(userControl, "Treemap"); TaskPane.VisibleChanged += (sender, e) => { if (!TaskPane.Visible) { TreemapViewModel tvm = (TreemapViewModel)TaskPaneControl.DataContext; tvm.IsDead = true; } }; } else { TaskPaneControl.DataContext = vm; } TaskPane.Width = 400; TaskPane.DockPosition = MsoCTPDockPosition.msoCTPDockPositionRight; TaskPane.Visible = true; }
public TreemapView(TreemapViewModel vm) { InitializeComponent(); DataContext = vm; }