//图层显示开关
        private void CheckBox_Click(object sender, RoutedEventArgs e)
        {
            CheckBox         checkBox = sender as CheckBox;
            DependencyObject parent   = VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(checkBox)); //找到chkbox的ContentPresenter
            ContentPresenter tvi      = parent as ContentPresenter;

            if (tvi != null)
            {
                List <UnityTreeModel> list   = treeView.ItemsSource as List <UnityTreeModel>;
                UnityTreeModel        node   = tvi.DataContext as UnityTreeModel;
                TreeViewItem          tvitem = FindTreeViewItemContainer(treeView, node);
                tvitem.IsSelected = true;

                SetModelVisible(node, checkBox.IsChecked.Value);
                SetObjShowStateMessage message = new SetObjShowStateMessage();
                message.path   = GetFullPath(node);
                message.iSShow = checkBox.IsChecked.Value;
                (view3d.view as U3dViewModel).ExcuteCommand(message);
            }
        }
 public void SetVisible(List <UnityTreeModel> model, int level)
 {
     if (level == layerNames.Count())
     {
         return;
     }
     foreach (UnityTreeModel _model in model)
     {
         if (_model.Name == layerNames[level])
         {
             SetVisible(_model.childs, level + 1);
         }
         else
         {
             SetChildVisble(_model);
             SetObjShowStateMessage message = new SetObjShowStateMessage();
             message.path   = GetFullPath(_model);
             message.iSShow = false;
             (view3d.view as U3dViewModel).ExcuteCommand(message);
         }
     }
 }