当前位置: 首页>>代码示例>>C#>>正文


C# IModelSystemStructure.Clone方法代码示例

本文整理汇总了C#中IModelSystemStructure.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# IModelSystemStructure.Clone方法的具体用法?C# IModelSystemStructure.Clone怎么用?C# IModelSystemStructure.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IModelSystemStructure的用法示例。


在下文中一共展示了IModelSystemStructure.Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ModuleContextMenu_InsertRequested

 private void ModuleContextMenu_InsertRequested(IModelSystemStructure toInsert)
 {
     this.FocusedSelectedModule = -1;
     this.SetModuleFocus();
     var parent = this.GetParent(this.ModelSystemDisplay.SelectedModule);
     var clone = toInsert.Clone();
     if(parent == null)
     {
         if(this.ModelSystem != null)
         {
             this.AddCommand(new SetModelSystemRootCommand(UpdateRootAction, this.ModelSystem, clone));
         }
         else
         {
             this.AddCommand(new SetProjectRootCommand(UpdateRootAction, this._Project, this.ProjectModelSystemNumber, clone));
         }
         this.ModelSystemDisplay.RootModule = toInsert;
         this.RefreshLinkedParameters();
         this.SetupParameters(clone);
         this.SetupModelSystem();
     }
     else
     {
         var selected = this.ModelSystemDisplay.SelectedModule;
         if(selected.IsCollection)
         {
             if(toInsert.IsCollection)
             {
                 if(clone.Children == null) return;
                 foreach(var child in clone.Children)
                 {
                     this.AddCommand(new AddToModuleListCommand(selected, child));
                 }
                 this.ModelSystemDisplay.SelectedModule = selected.Children[selected.Children.Count - 1];
             }
             else
             {
                 this.AddCommand(new AddToModuleListCommand(selected, toInsert.Clone()));
                 this.ModelSystemDisplay.SelectedModule = selected.Children[selected.Children.Count - 1];
             }
             this.SetupModelSystem();
         }
         else
         {
             // process being inserted into a non list where the parent is a list
             if(parent.IsCollection)
             {
                 var collection = parent.Children;
                 var collectionLength = collection.Count;
                 for(int i = 0; i < collectionLength; i++)
                 {
                     if(collection[i] == this.ModelSystemDisplay.SelectedModule)
                     {
                         this.AddCommand(new ModuleSwapCommand(this.GetLinkParameters(), parent, i, clone));
                         this.ModelSystemDisplay.SelectedModule = clone;
                         this.RefreshLinkedParameters();
                         this.SetupModelSystem();
                         break;
                     }
                 }
             }
             else
             {
                 // Process being inserted into a non list where the parent is also not a list.
                 var collection = parent.Children;
                 if(collection == null)
                 {
                     AddCommand(new SetModelSystemRootCommand(UpdateRootAction, ModelSystem, clone));
                 }
                 else
                 {
                     var collectionLength = collection.Count;
                     for(int i = 0; i < collectionLength; i++)
                     {
                         if(collection[i] == this.ModelSystemDisplay.SelectedModule)
                         {
                             this.AddCommand(new ModuleSwapCommand(this.GetLinkParameters(), parent, i, clone));
                             this.ModelSystemDisplay.SelectedModule = clone;
                             this.RefreshLinkedParameters();
                             break;
                         }
                     }
                 }
                 this.SetupParameters(clone);
                 this.SetupModelSystem();
             }
         }
     }
     this.Save();
 }
开发者ID:Cocotus,项目名称:XTMF,代码行数:90,代码来源:UnifiedModelSystemInterface.xaml.cs


注:本文中的IModelSystemStructure.Clone方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。