public void OnModelChanged(object sender, ModelChangeEvent e)
        {
            if (e.changeType == EnumDataChange.DC_ADD)
            {
                if (e.modelType == EnumModelType.MT_WorkShape)
                {
                    WorkShapeModel mv = sender as WorkShapeModel;

                    TreeNodeItem rootItem = new TreeNodeItem()
                    {
                        Icon        = @"Images\Project\Bar.png",
                        DisplayName = "工件"
                    };

                    TreeNodeItem dxfItem = new TreeNodeItem()
                    {
                        Icon        = @"Images\Start\LoadDXF.png",
                        DisplayName = mv.ActiveWorkShape.Name
                    };
                    rootItem.Children.Add(dxfItem);
                    m_ItemList.Add(rootItem);

                    TreeNodeItem toolItem = new TreeNodeItem()
                    {
                        Icon        = @"Images\Project\Tool.png",
                        DisplayName = "加工"
                    };
                    m_ItemList.Add(toolItem);
                }
                else if (e.modelType == EnumModelType.MT_Task)
                {
                    TreeNodeItem rootItem = new TreeNodeItem()
                    {
                        Icon        = m_ModelView.ActiveTask.Path.Icon,
                        DisplayName = String.Format("#{0}", m_ModelView.ActiveTask.Id),
                        Tag         = m_ModelView.ActiveTask
                    };
                    m_ItemList[1].Children.Add(rootItem);
                }
            }
            else if (e.changeType == EnumDataChange.DC_DELETE)
            {
                if (e.modelType == EnumModelType.MT_Task)
                {
                    foreach (TreeNodeItem item in m_ItemList[1].Children)
                    {
                        if (item.Tag == m_ModelView.ActiveTask)
                        {
                            m_ItemList[1].Children.Remove(item);
                            break;
                        }
                    }
                }
            }
        }
        private void projectBrowser_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            TreeNodeItem item = this.projectBrowser.SelectedItem as TreeNodeItem;

            if (item == null)
            {
                return;
            }

            MachineTask task = item.Tag as MachineTask;

            if (task != null)
            {
                BeginEditTask(task);
            }
        }