实例介绍
GraphX for .NET是一款先进的图形布局和可视化开源库,它支持不同的布局算法,并提供了多种视觉自定义手段。该库能够渲染大量顶点,并稳步支持最受欢迎的.NET平台。GraphX已经作为许多其他项目的基础,其中它的功能是不可替代的。
要求:GraphX需要Visual Studio 2019社区版或更高版本才能手动构建。GraphX的运行需要QuikGraph nuget项目。值得注意的是,它部分使用了以下项目的代码:Graph#、WPFExtensions、NodeXL、Extended WPF Toolkit、YAXLib和ModernUI。
平台支持:我们的库支持以下平台:
- Windows桌面(使用.NET4.6.1+或.NET Core 3.1在Windows 7+上的.NET Core/WPF/WinForms)
- 通用Windows平台(UWP或UAP)在Windows 10上
- Xamarin/Uno(正在进行中,目前只提供逻辑核心)
特性:
- 针对大量模板化图形顶点渲染的性能导向库
- 隔离的视觉和逻辑库设计以及模块化编码方法,以获得更好的扩展性
- 不断改进的MVVM支持
- .NET多平台支持
- 多种布局算法
总的来说,它几乎可以做到你想要布局和显示任何图形所需的一切,尤其是提供了以下特性:
- 创建和插入自定义外部布局、重叠移除和边缘路由算法的能力
- 增强的边缘指针自定义能力,允许容易地创建和应用自定义边缘指针
- 使用行为逻辑的可定制控制高亮显示
- Windows桌面平台的图形打印方法
- 顶点和边缘移动、删除、添加、鼠标悬停动画支持,能够创建自定义动画!
- 通用图形序列化方法
- 图形状态保存和加载
- 异步算法计算支持
- 丰富的可用性文档和示例项目
支持以下与边缘相关的特性:
- 参数化边缘路由算法的支持
- 对动态和/或单个边缘路由计算的支持
- 可以应用于任何ER算法的边缘曲线(平滑)技术
- 动态模板化边缘标签与边缘对齐支持
- 包括多种类型虚线边缘的简易模板化
- 可选的自环边缘可视化支持
- 可选的顶点之间并行边缘可视化支持
高级图形顶点特性如下:
- 包括即时边缘路由更新的易于拖动和高亮显示的顶点支持
- 过滤功能提供选择性顶点渲染,保留提供的图形不变
- 可定制的顶点标签支持,允许设置文本、位置和角度
- 支持不同的顶点数学形状,以正确渲染边缘连接
- 支持不同的顶点和边缘动画,包括轻松创建自定义动画的能力
- 顶点连接点(VCP)允许实现可定制的边缘到顶点连接
- 在拖动顶点或顶点组时顶点吸附到网格功能
最后一些额外的特性需要注意:
- 内置增强的缩放控制,带有缩略图和缩放功能
- 设计时所有控件的视觉预览
- 许多注释良好的示例项目
【实例截图】
【核心代码】
文件清单
└── GraphX-13cd49cc6d5cc8ece0b47c18dde1893b0a3dd676
├── Documents
│ ├── AIV.cs
│ ├── CHANGELOG.txt
│ ├── Licenses
│ │ ├── License.Extended WPF Toolkit.txt
│ │ ├── License.Graph# - GraphX.txt
│ │ ├── License.icons.txt
│ │ ├── License.MediaFIles.txt
│ │ ├── License.ModernUI.txt
│ │ ├── License.NodeXL.txt
│ │ ├── License.Quikgraph.txt
│ │ ├── License.RelativeAnimatingContentControl.txt
│ │ ├── License.WPFExtensions.txt
│ │ └── License.YAXLib.txt
│ └── TODO.txt
├── Examples
│ ├── ShowcaseApp.WPF
│ │ ├── App.config
│ │ ├── app.ico
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Assets
│ │ │ ├── background.snowflakes.jpg
│ │ │ ├── blackCircleFilled.png
│ │ │ ├── blackCircle.png
│ │ │ ├── board_hd.png
│ │ │ ├── brick_16.png
│ │ │ ├── carpet.png
│ │ │ ├── circle_blue.png
│ │ │ ├── circle_green.png
│ │ │ ├── circle_red.png
│ │ │ ├── dice.png
│ │ │ ├── female.png
│ │ │ ├── grid_paper.png
│ │ │ ├── hand_comp2.png
│ │ │ ├── hand_comp3.png
│ │ │ ├── hand_comp.png
│ │ │ ├── male.png
│ │ │ ├── ModernUI.Snowflakes.xaml
│ │ │ ├── SplashScreen.png
│ │ │ ├── tr_grren.png
│ │ │ └── tr_red.png
│ │ ├── Content
│ │ │ ├── SettingsAppearanceViewModel.cs
│ │ │ ├── SettingsAppearance.xaml
│ │ │ └── SettingsAppearance.xaml.cs
│ │ ├── Controls
│ │ │ ├── MiniContentPage.xaml
│ │ │ ├── MiniContentPage.xaml.cs
│ │ │ ├── MiniXamlPage.xaml
│ │ │ ├── MiniXamlPage.xaml.cs
│ │ │ ├── MiniXamlTemplatePage.xaml
│ │ │ ├── MiniXamlTemplatePage.xaml.cs
│ │ │ ├── SpecialWindowControl.xaml
│ │ │ └── SpecialWindowControl.xaml.cs
│ │ ├── ExampleModels
│ │ │ ├── DataEdge.cs
│ │ │ ├── DataVertex.cs
│ │ │ ├── ExampleExternalEdgeRoutingAlgorithm.cs
│ │ │ ├── ExampleExternalLayoutAlgorithm.cs
│ │ │ ├── ExampleExternalOverlapRemovalAlgorithm.cs
│ │ │ ├── ExampleMoveAnimation.cs
│ │ │ ├── Filters
│ │ │ │ └── BlueVertexFilter.cs
│ │ │ ├── GraphAreaExample.cs
│ │ │ ├── GraphExample.cs
│ │ │ ├── LogicCoreExample.cs
│ │ │ └── OrthEr.cs
│ │ ├── External
│ │ │ └── WindowGlow
│ │ │ ├── GlowManager.cs
│ │ │ ├── GlowWindow.cs
│ │ │ └── Win32.cs
│ │ ├── FileSerialization
│ │ │ ├── FileServiceProviderWPF.cs
│ │ │ ├── YAXPointArraySerializer.cs
│ │ │ └── YAXPointSerializer.cs
│ │ ├── Layouts
│ │ │ ├── FR_layout.xml
│ │ │ └── KK_Layout.xml
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── Models
│ │ │ ├── ColorModel.cs
│ │ │ ├── DataItem.cs
│ │ │ ├── EditorObjectManager.cs
│ │ │ ├── EditorOperationMode.cs
│ │ │ ├── ImageLoader.cs
│ │ │ ├── LinkCommands.cs
│ │ │ ├── MiniSpecialType.cs
│ │ │ ├── ShadowChrome.cs
│ │ │ ├── ShowcaseHelper.cs
│ │ │ ├── SimpleCommand.cs
│ │ │ ├── ThemedDataStorage.cs
│ │ │ ├── ValueToImageConverter.cs
│ │ │ └── VCTemplateBehaviour.cs
│ │ ├── packages.config
│ │ ├── Pages
│ │ │ ├── Debug
│ │ │ │ ├── DebugGraph.xaml
│ │ │ │ └── DebugGraph.xaml.cs
│ │ │ ├── DynamicGraph.xaml
│ │ │ ├── DynamicGraph.xaml.cs
│ │ │ ├── EdgeRoutingGraph.xaml
│ │ │ ├── EdgeRoutingGraph.xaml.cs
│ │ │ ├── EditorGraph.xaml
│ │ │ ├── EditorGraph.xaml.cs
│ │ │ ├── FeatureLists
│ │ │ │ ├── FeaturesPageData.xaml
│ │ │ │ ├── FeaturesPageData.xaml.cs
│ │ │ │ ├── FeaturesPageEdges.xaml
│ │ │ │ ├── FeaturesPageEdges.xaml.cs
│ │ │ │ ├── FeaturesPageLayouts.xaml
│ │ │ │ ├── FeaturesPageLayouts.xaml.cs
│ │ │ │ ├── FeaturesPageTemplates.xaml
│ │ │ │ └── FeaturesPageTemplates.xaml.cs
│ │ │ ├── GeneralGraph.xaml
│ │ │ ├── GeneralGraph.xaml.cs
│ │ │ ├── Introduction.xaml
│ │ │ ├── Introduction.xaml.cs
│ │ │ ├── Mini
│ │ │ │ ├── DataFiltering.xaml
│ │ │ │ ├── DataFiltering.xaml.cs
│ │ │ │ ├── EdgesParallel.xaml
│ │ │ │ ├── EdgesParallel.xaml.cs
│ │ │ │ ├── LayoutGrouped.xaml
│ │ │ │ ├── LayoutGrouped.xaml.cs
│ │ │ │ ├── LayoutVCP.xaml
│ │ │ │ └── LayoutVCP.xaml.cs
│ │ │ ├── NNGraph.xaml
│ │ │ ├── NNGraph.xaml.cs
│ │ │ ├── Settings.xaml
│ │ │ ├── Settings.xaml.cs
│ │ │ ├── ThemedGraph.xaml
│ │ │ └── ThemedGraph.xaml.cs
│ │ ├── Properties
│ │ │ ├── Annotations.cs
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ ├── readme.txt
│ │ ├── ShowcaseApp.WPF.csproj
│ │ ├── ShowcaseApp.WPF.csproj.DotSettings
│ │ ├── Templates
│ │ │ ├── Accordion.xaml
│ │ │ ├── Debug
│ │ │ │ └── TestTemplates.xaml
│ │ │ ├── DynamicGraphXTemplates.xaml
│ │ │ ├── EditorGraphXTemplates.xaml
│ │ │ ├── ERGraphXTemplates.xaml
│ │ │ ├── ExpanderTemplates.xaml
│ │ │ ├── GeneralTemplate.xaml
│ │ │ ├── Mini
│ │ │ │ ├── CommonMiniTemplate.xaml
│ │ │ │ ├── LayoutDataFiltering.xaml
│ │ │ │ ├── LayoutGroupedTemplate.xaml
│ │ │ │ └── LayoutVCPTemplate.xaml
│ │ │ ├── MiniFeatures.xaml
│ │ │ ├── ThemedGraphXTemplates.xaml
│ │ │ └── TransparentTooltips.xaml
│ │ └── Themes
│ │ └── Generic.xaml
│ ├── SimpleGraph
│ │ ├── App.config
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Images
│ │ │ ├── dice.png
│ │ │ └── update.png
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── Models
│ │ │ ├── DataEdge.cs
│ │ │ ├── DataVertex.cs
│ │ │ ├── GraphAreaExample.cs
│ │ │ ├── GraphExample.cs
│ │ │ └── GXLogicCoreExample.cs
│ │ ├── packages.config
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ ├── readme.txt
│ │ └── SimpleGraph.csproj
│ ├── SimpleGraph.DotNetCore
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── AssemblyInfo.cs
│ │ └── SimpleGraph.DotNetCore.csproj
│ ├── UAP.SimpleGraph
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Assets
│ │ │ ├── 100.png
│ │ │ ├── 150.png
│ │ │ ├── 300.png
│ │ │ ├── 44.png
│ │ │ ├── 50.png
│ │ │ ├── 88.png
│ │ │ ├── Logo.png
│ │ │ ├── Logo.scale-100.png
│ │ │ ├── Logo.scale-200.png
│ │ │ ├── MidLogo.png
│ │ │ ├── newlogo_big.png
│ │ │ ├── play.png
│ │ │ ├── refresh.png
│ │ │ ├── SmallLogo.png
│ │ │ ├── SplashScreen.png
│ │ │ ├── SplashScreen.scale-100.png
│ │ │ ├── SplashScreen.scale-200.png
│ │ │ ├── StoreLogo.png
│ │ │ ├── tr_grren.png
│ │ │ └── tr_red.png
│ │ ├── Common
│ │ │ ├── StandardStyles.xaml
│ │ │ ├── templates2.xaml
│ │ │ └── templates.xaml
│ │ ├── MainPageDebug.xaml
│ │ ├── MainPageDebug.xaml.cs
│ │ ├── MainPage.xaml
│ │ ├── MainPage.xaml.cs
│ │ ├── Models
│ │ │ ├── CurvedEr.cs
│ │ │ ├── CurvedErParameters.cs
│ │ │ ├── DataEdge.cs
│ │ │ ├── DataVertex.cs
│ │ │ ├── DebugItems.cs
│ │ │ ├── GraphAreaExample.cs
│ │ │ ├── GraphExample.cs
│ │ │ ├── GXLogicCoreExample.cs
│ │ │ └── MouseOverScaleAnimation.cs
│ │ ├── Package.appxmanifest
│ │ ├── project.lock.json
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Default.rd.xml
│ │ ├── UAP.SimpleGraph.csproj
│ │ ├── UAP.SimpleGraph.nuget.props
│ │ └── UAP.SimpleGraph.nuget.targets
│ ├── WindowsDesktop_VB.NET_WinForms_Example
│ │ ├── App.config
│ │ ├── Form1.Designer.vb
│ │ ├── Form1.resx
│ │ ├── Form1.vb
│ │ ├── Models
│ │ │ ├── DataEdge.vb
│ │ │ ├── DataVertex.vb
│ │ │ ├── GraphAreaExample.vb
│ │ │ └── GraphExample.vb
│ │ ├── My Project
│ │ │ ├── Application.Designer.vb
│ │ │ ├── Application.myapp
│ │ │ ├── AssemblyInfo.vb
│ │ │ ├── Resources.Designer.vb
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.vb
│ │ │ └── Settings.settings
│ │ ├── packages.config
│ │ ├── Templates
│ │ │ └── template.xaml
│ │ └── WindowsDesktop_VB.NET_WinForms_Example.vbproj
│ └── WindowsFormsProject
│ ├── app.config
│ ├── Form1.cs
│ ├── Form1.Designer.cs
│ ├── Form1.resx
│ ├── Images
│ │ ├── dice.png
│ │ └── update.png
│ ├── Models
│ │ ├── DataEdge.cs
│ │ ├── DataVertex.cs
│ │ ├── GraphAreaExample.cs
│ │ └── GraphExample.cs
│ ├── packages.config
│ ├── Program.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── Templates
│ │ └── template.xaml
│ └── WindowsFormsProject.csproj
├── ExternalDlls
│ ├── FirstFloor.ModernUI.dll
│ └── Microsoft.Windows.Shell.dll
├── GraphX.Controls
│ ├── Animations
│ │ ├── DeleteFadeAnimation.cs
│ │ ├── DeleteShrinkAnimation.cs
│ │ ├── Enums
│ │ │ ├── DeleteAnimation.cs
│ │ │ ├── MouseOverAnimation.cs
│ │ │ └── MoveAnimation.cs
│ │ ├── Interfaces
│ │ │ ├── IBidirectionalControlAnimation.cs
│ │ │ └── IOneWayControlAnimation.cs
│ │ ├── MouseOverScaleAnimation.cs
│ │ ├── MoveAnimationBase.cs
│ │ ├── MoveFadeAnimation.cs
│ │ └── MoveSimpleAnimation.cs
│ ├── Behaviours
│ │ ├── DragBehaviour.cs
│ │ └── HighlightBehaviour.cs
│ ├── Controls
│ │ ├── EdgeControlBase.cs
│ │ ├── EdgeControl.cs
│ │ ├── EdgeLabels
│ │ │ ├── AttachableEdgeLabelControl.cs
│ │ │ └── EdgeLabelControl.cs
│ │ ├── EdgePointers
│ │ │ └── DefaultEdgePointer.cs
│ │ ├── GraphAreaBase.cs
│ │ ├── GraphArea.cs
│ │ ├── Misc
│ │ │ ├── ControlDrawOrder.cs
│ │ │ ├── EdgeDashStyle.cs
│ │ │ ├── IEdgeLabelControl.cs
│ │ │ ├── IEdgePointer.cs
│ │ │ ├── IGraphAreaBase.cs
│ │ │ ├── IGraphArea.cs
│ │ │ ├── IGraphControl.cs
│ │ │ ├── IPositionChangeNotify.cs
│ │ │ ├── ITrackableContent.cs
│ │ │ ├── IVertexConnectionPoint.cs
│ │ │ ├── IVertexLabelControl.cs
│ │ │ ├── IZoomControl.cs
│ │ │ └── LogicCoreChangedAction.cs
│ │ ├── VertexConnectionPoints
│ │ │ └── StaticVertexConnectionPoint.cs
│ │ ├── VertexControlBase.cs
│ │ ├── VertexControl.cs
│ │ ├── VertexLabels
│ │ │ ├── AttachableVertexLabelControl.cs
│ │ │ └── VertexLabelControl.cs
│ │ └── ZoomControl
│ │ ├── Converters
│ │ │ ├── DoubleToLog10Converter.cs
│ │ │ ├── EqualityToBooleanConverter.cs
│ │ │ ├── GeometryToPathGeometryConverter.cs
│ │ │ ├── RoundedValueConverter.cs
│ │ │ └── VisibilityToBoolConverter.cs
│ │ ├── Helpers
│ │ │ ├── DoubleHelper.cs
│ │ │ ├── PointHelper.cs
│ │ │ └── VisualTreeHelperEx.cs
│ │ ├── SupportClasses
│ │ │ ├── AreaSelectedEventArgs.cs
│ │ │ ├── AreaSelectedEventHandler.cs
│ │ │ ├── ContentSizeChangedHandler.cs
│ │ │ ├── MouseWheelZoomingMode.cs
│ │ │ ├── ZoomControlModes.cs
│ │ │ └── ZoomViewModifierMode.cs
│ │ ├── ViewFinderDisplay.cs
│ │ ├── ZoomContentPresenter.cs
│ │ └── ZoomControl.cs
│ ├── CustomHelper.cs
│ ├── DesignerExampleData
│ │ ├── EdgeDataExample.cs
│ │ └── VertexDataExample.cs
│ ├── ExceptionExtensions.cs
│ ├── GeometryHelper.cs
│ ├── GraphX.WPF.Controls.csproj
│ ├── GraphX.WPF.Controls.csproj.DotSettings
│ ├── GraphX.WPF.Controls.nuspec
│ ├── Images
│ │ └── help_black.png
│ ├── MathHelper.cs
│ ├── Models
│ │ ├── AnimationFactory.cs
│ │ ├── ContentSizeChangedEventHandler.cs
│ │ ├── ControlClickedEventArgs.cs
│ │ ├── ControlEventArgs.cs
│ │ ├── DefaultLabelFactory.cs
│ │ ├── EdgeEventOptions.cs
│ │ ├── EdgeSelectedEventArgs.cs
│ │ ├── EdgeSelectedEventHandler.cs
│ │ ├── GraphControlFactory.cs
│ │ ├── Interfaces
│ │ │ ├── IAttachableControl.cs
│ │ │ ├── IGraphControlFactory.cs
│ │ │ └── ILabelFactory.cs
│ │ ├── PropertyChangeNotifier.cs
│ │ ├── RemoveControlEventHandler.cs
│ │ ├── StateStorage.cs
│ │ ├── VertexEventOptions.cs
│ │ ├── VertexMovedEventArgs.cs
│ │ ├── VertexPositionChangedEH.cs
│ │ ├── VertexPositionEventArgs.cs
│ │ ├── VertexSelectedEventArgs.cs
│ │ └── VertexSelectedEventHandler.cs
│ ├── packages.config
│ ├── PrintHelper.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Themes
│ │ └── Generic.xaml
│ └── TypeExtensions.cs
├── GraphX.Core.Controls
│ ├── AssemblyInfo.cs
│ └── GraphX.Core.Controls.csproj
├── GraphX for .NET.sln
├── GraphX.METRO.Controls
│ ├── Controls
│ │ └── ZoomControl
│ │ ├── Converters
│ │ │ ├── DoubleToLog10Converter.cs
│ │ │ ├── EqualityToBooleanConverter.cs
│ │ │ ├── RoundedValueConverter.cs
│ │ │ └── VisibilityToBoolConverter.cs
│ │ ├── Helpers
│ │ │ ├── DoubleHelper.cs
│ │ │ ├── PointHelper.cs
│ │ │ └── VisualTreeHelperEx.cs
│ │ ├── SupportClasses
│ │ │ ├── AreaSelectedEventArgs.cs
│ │ │ ├── AreaSelectedEventHandler.cs
│ │ │ ├── ContentSizeChangedHandler.cs
│ │ │ ├── MouseWheelZoomingMode.cs
│ │ │ ├── ZoomControlModes.cs
│ │ │ └── ZoomViewModifierMode.cs
│ │ ├── ZoomContentPresenter.cs
│ │ └── ZoomControl.cs
│ ├── DesignerExampleData
│ │ ├── EdgeDataExample.cs
│ │ └── VertexDataExample.cs
│ ├── DpExtensions.cs
│ ├── GraphX.METRO.Controls.csproj
│ ├── GraphX.METRO.Controls.csproj.DotSettings
│ ├── Images
│ │ ├── cross-icon.png
│ │ ├── help_black.png
│ │ ├── round1.png
│ │ └── round2.png
│ ├── MathHelper.cs.bak
│ ├── METRO.SimpleGraph_TemporaryKey.pfx
│ ├── Models
│ │ ├── AnimationHelper.cs
│ │ ├── DelegateCommand.cs
│ │ ├── DispatcherHelper.cs
│ │ ├── EdgeSelectedEventArgs.cs
│ │ ├── FileServiceProviderMETRO.cs
│ │ ├── ModifierKeys.cs
│ │ ├── MouseButtonEventArgs.cs
│ │ ├── VertexMovedEventArgs.cs
│ │ ├── VertexSelectedEventArgs.cs
│ │ └── XamlTypes
│ │ ├── ViewModelBase.cs
│ │ ├── ViewModelXamlMember.cs
│ │ ├── ViewModelXamlMetadataProvider.cs
│ │ ├── ViewModelXamlType.cs
│ │ ├── XamlSystemType.cs
│ │ └── XamlTypeProvider.cs
│ ├── packages.config
│ ├── port.txt
│ ├── PrintHelper.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Themes
│ └── Generic.xaml
├── GraphX.Standard.Common
│ ├── Enums
│ │ ├── EdgeRoutingAlgorithmTypeEnum.cs
│ │ ├── EdgesType.cs
│ │ ├── EventType.cs
│ │ ├── GraphControlType.cs
│ │ ├── HighlightStrategy.cs
│ │ ├── ImageType.cs
│ │ ├── LayoutAlgorithmTypeEnum.cs
│ │ ├── OverlapRemovalAlgorithmTypeEnum.cs
│ │ ├── ProcessingOptionEnum.cs
│ │ └── VertexShape.cs
│ ├── Exceptions
│ │ ├── GX_GeneralException.cs
│ │ ├── GX_InvalidDataException.cs
│ │ ├── GX_ObjectNotFoundException.cs
│ │ ├── GX_ObsoleteException.cs
│ │ └── GX_SerializationException.cs
│ ├── GraphX.Standard.Common.csproj
│ ├── Helpers
│ │ ├── CommonExtensions.cs
│ │ └── GraphSharpExtensions.cs
│ ├── Interfaces
│ │ ├── IAlgorithmFactory.cs
│ │ ├── IAlgorithmParameters.cs
│ │ ├── IAlgorithmStorage.cs
│ │ ├── ICloneable.cs
│ │ ├── IEdgeRoutingParameters.cs
│ │ ├── IExternalEdgeRouting.cs
│ │ ├── IExternalLayout.cs
│ │ ├── IExternalOverlapRemoval.cs
│ │ ├── IGraphFIlter.cs
│ │ ├── IGraphXEdge.cs
│ │ ├── IGraphXVertex.cs
│ │ ├── IGXLogicCore.cs
│ │ ├── IIdentifiableGraphDataObject.cs
│ │ ├── ILayoutAlgorithm.cs
│ │ ├── ILayoutEdgeRouting.cs
│ │ ├── ILayoutParameters.cs
│ │ ├── IOverlapRemovalAlgorithm.cs
│ │ ├── IOverlapRemovalParameters.cs
│ │ ├── IRoutingInfo.cs
│ │ └── IWeightedEdge.cs
│ ├── Measure
│ │ ├── Point.cs
│ │ ├── Rect.cs
│ │ ├── Size.cs
│ │ ├── Thickness.cs
│ │ └── Vector.cs
│ ├── Models
│ │ ├── EdgeBase.cs
│ │ ├── EdgeRoutingVisualData.cs
│ │ ├── GraphSerializationData.cs
│ │ ├── GraphState.cs
│ │ ├── Semaphore
│ │ │ ├── BAutoResetEvent.cs
│ │ │ ├── BManualResetEvent.cs
│ │ │ ├── BWaitHandle.cs
│ │ │ └── Semaphore.cs
│ │ ├── VertexBase.cs
│ │ └── WeightedEdge.cs
│ └── signature.snk
├── GraphX.Standard.Logic
│ ├── Algorithms
│ │ ├── AlgorithmBase.cs
│ │ ├── EdgeRouting
│ │ │ ├── EdgeBundling
│ │ │ │ ├── BundleEdgeRouting.cs
│ │ │ │ ├── BundleEdgeRoutingParameters.cs
│ │ │ │ └── VectorTools.cs
│ │ │ ├── EdgeRoutingAlgorithmBase.cs
│ │ │ ├── EdgeRoutingParameters.cs
│ │ │ ├── PathFinderER
│ │ │ │ ├── IPathFinder.cs
│ │ │ │ ├── MatrixItem.cs
│ │ │ │ ├── PathFinder.cs
│ │ │ │ ├── PathFinderEdgeRouting.cs
│ │ │ │ ├── PathFinderEdgeRoutingParameters.cs
│ │ │ │ └── PriorityQueueB.cs
│ │ │ └── SimpleER
│ │ │ ├── SimpleEdgeRouting.cs
│ │ │ └── SimpleERParameters.cs
│ │ ├── GraphHideHelper.cs
│ │ ├── HierarchicalGraph.cs
│ │ ├── IAlgorithm.cs
│ │ ├── IHierarchicalBidirectionalGraph.cs
│ │ ├── ISoftMutableGraph.cs
│ │ ├── LayeredTopologicalSortAlgorithm.cs
│ │ ├── LayoutAlgorithms
│ │ │ ├── Circular
│ │ │ │ ├── CircularLayoutAlgorithm.cs
│ │ │ │ └── CircularLayoutParameters.cs
│ │ │ ├── FDP
│ │ │ │ ├── BoundedFRLayoutParameters.cs
│ │ │ │ ├── Compound
│ │ │ │ │ ├── CompoundFDPLayoutAlgorithm.cs
│ │ │ │ │ ├── CompoundFDPLayoutAlgorithm.Data.cs
│ │ │ │ │ ├── CompoundFDPLayoutAlgorithm.Init.cs
│ │ │ │ │ ├── CompoundFDPLayoutParameters.cs
│ │ │ │ │ ├── CompoundGraph.cs
│ │ │ │ │ ├── CompoundLayoutContext.cs
│ │ │ │ │ ├── CompoundLayoutIterationEventArgs.cs
│ │ │ │ │ ├── CompoundVertexInnerLayoutType.cs
│ │ │ │ │ ├── ICompoundGraph.cs
│ │ │ │ │ ├── ICompoundLayoutAlgorithm.cs
│ │ │ │ │ ├── ICompoundLayoutContext.cs
│ │ │ │ │ ├── ICompoundLayoutIterationEventArgs.cs
│ │ │ │ │ ├── ILayoutContext.cs
│ │ │ │ │ ├── IMutableCompoundGraph.cs
│ │ │ │ │ ├── LayoutContext.cs
│ │ │ │ │ ├── LayoutMode.cs
│ │ │ │ │ ├── TestingCompoundLayoutIterationEventArgs.cs
│ │ │ │ │ └── TestingCompoundVertexInfo.cs
│ │ │ │ ├── FRCoolingFunction.cs
│ │ │ │ ├── FreeFRLayoutParameters.cs
│ │ │ │ ├── FRLayoutAlgorithm.cs
│ │ │ │ ├── FRLayoutParametersBase.cs
│ │ │ │ ├── ISOMLayoutAlgorithm.cs
│ │ │ │ ├── ISOMLayoutParameters.cs
│ │ │ │ ├── KKLayoutAlgorithm.cs
│ │ │ │ ├── KKLayoutParameters.cs
│ │ │ │ ├── LinLogLayoutAlgorithm.cs
│ │ │ │ ├── LinLogLayoutAlgorithm.QuadTree.cs
│ │ │ │ └── LinLogLayoutParameters.cs
│ │ │ ├── Grouped
│ │ │ │ ├── GroupingLayoutAlgorithm.cs
│ │ │ │ └── GroupingLayoutAlgorithmParameters.cs
│ │ │ ├── Hierarchical
│ │ │ │ ├── EfficientSugiyamaAlgorithm.BuildSparseNormalizedGraph.cs
│ │ │ │ ├── EfficientSugiyamaAlgorithm.DoCrossingMinimizations.cs
│ │ │ │ ├── EfficientSugiyamaAlgorithm.DoPreparing.cs
│ │ │ │ ├── EfficientSugiyamaLayoutAlgorithm.AlternatingLayer.cs
│ │ │ │ ├── EfficientSugiyamaLayoutAlgorithm.cs
│ │ │ │ ├── EfficientSugiyamaLayoutAlgorithm.Data.cs
│ │ │ │ ├── EfficientSugiyamaLayoutAlgorithm.HorizontalAssignment.cs
│ │ │ │ ├── EfficientSugiyamaLayoutAlgorithm.SegmentContainer.cs
│ │ │ │ ├── EfficientSugiyamaLayoutParameters.cs
│ │ │ │ ├── SugiyamaEdgeRoutings.cs
│ │ │ │ ├── SugiyamaLayoutAlgorithm.cs
│ │ │ │ ├── SugiyamaLayoutAlgorithm.Enums.cs
│ │ │ │ ├── SugiyamaLayoutAlgorithm.SugiEdge.cs
│ │ │ │ ├── SugiyamaLayoutAlgorithm.SugiVertex.cs
│ │ │ │ ├── SugiyamaLayoutAlgorithm.VertexLayerCollection.cs
│ │ │ │ ├── SugiyamaLayoutAlgorithm.VertexLayer.cs
│ │ │ │ └── SugiyamaLayoutParameters.cs
│ │ │ ├── ILayoutInfoIterationEventArgs.cs
│ │ │ ├── ILayoutIterationEventArgs.cs
│ │ │ ├── IParameterizedLayoutAlgorithm.cs
│ │ │ ├── LayoutAlgorithmBase.cs
│ │ │ ├── LayoutDirection.cs
│ │ │ ├── LayoutIterationEventArgs.cs
│ │ │ ├── LayoutParametersBase.cs
│ │ │ ├── LayoutUtil.cs
│ │ │ ├── ParameterizedLayoutAlgorithmBase.cs
│ │ │ ├── Random
│ │ │ │ ├── RandomLayoutAlgorithm.cs
│ │ │ │ └── RandomLayoutAlgorithmParams.cs
│ │ │ └── Tree
│ │ │ ├── BalloonTreeLayoutAlgorithm.cs
│ │ │ ├── BalloonTreeLayoutParameters.cs
│ │ │ ├── SimpleTreeLayoutAlgorithm.cs
│ │ │ ├── SimpleTreeLayoutAlgorithm.Data.cs
│ │ │ ├── SimpleTreeLayoutParameters.cs
│ │ │ └── SpanningTreeGeneration.cs
│ │ ├── OverlapRemoval
│ │ │ ├── FSAAlgorithm.cs
│ │ │ ├── IOverlapRemovalAlgorithmFactory.cs
│ │ │ ├── IOverlapRemovalContext.cs
│ │ │ ├── OneWayFSAAlgorithm.cs
│ │ │ ├── OneWayFSAParameters.cs
│ │ │ ├── OverlapRemovalAlgorithmBase.cs
│ │ │ ├── OverlapRemovalContext.cs
│ │ │ ├── OverlapRemovalHelper.cs
│ │ │ ├── OverlapRemovalParameters.cs
│ │ │ ├── RectangleWrapper.cs
│ │ │ └── StandardOverlapRemovalAlgorithmFactory.cs
│ │ ├── SoftMutableBidirectionalGraph.cs
│ │ ├── SoftMutableHierarchicalGraph.cs
│ │ ├── TypedEdge.cs
│ │ └── WrappedVertex.cs
│ ├── GraphX.Standard.Logic.csproj
│ ├── Helpers
│ │ ├── ReflectionHelper.cs
│ │ └── ThreadingHelper.cs
│ └── Models
│ ├── AlgorithmFactory.cs
│ ├── AlgorithmStorage.cs
│ ├── GXLogicCore_Calculation.cs
│ └── GXLogicCore.cs
├── GraphX.UAP.Controls
│ ├── Controls
│ │ └── ZoomControl
│ │ ├── Converters
│ │ │ ├── DoubleToLog10Converter.cs
│ │ │ ├── EqualityToBooleanConverter.cs
│ │ │ ├── RoundedValueConverter.cs
│ │ │ └── VisibilityToBoolConverter.cs
│ │ ├── Helpers
│ │ │ ├── DoubleHelper.cs
│ │ │ ├── PointHelper.cs
│ │ │ └── VisualTreeHelperEx.cs
│ │ ├── SupportClasses
│ │ │ ├── AreaSelectedEventArgs.cs
│ │ │ ├── AreaSelectedEventHandler.cs
│ │ │ ├── ContentSizeChangedHandler.cs
│ │ │ ├── MouseWheelZoomingMode.cs
│ │ │ ├── ZoomControlModes.cs
│ │ │ └── ZoomViewModifierMode.cs
│ │ ├── ZoomContentPresenter.cs
│ │ └── ZoomControl.cs
│ ├── DesignerExampleData
│ │ ├── EdgeDataExample.cs
│ │ └── VertexDataExample.cs
│ ├── DpExtensions.cs
│ ├── GraphX.UAP.Controls.csproj
│ ├── Images
│ │ ├── cross-icon.png
│ │ ├── help_black.png
│ │ ├── round1.png
│ │ └── round2.png
│ ├── Models
│ │ ├── AnimationHelper.cs
│ │ ├── DelegateCommand.cs
│ │ ├── DispatcherHelper.cs
│ │ ├── EdgeSelectedEventArgs.cs
│ │ ├── FileServiceProviderMETRO.cs
│ │ ├── ModifierKeys.cs
│ │ ├── MouseButtonEventArgs.cs
│ │ ├── VertexMovedEventArgs.cs
│ │ ├── VertexSelectedEventArgs.cs
│ │ └── XamlTypes
│ │ ├── ViewModelBase.cs
│ │ ├── ViewModelXamlMember.cs
│ │ ├── ViewModelXamlMetadataProvider.cs
│ │ ├── ViewModelXamlType.cs
│ │ ├── XamlSystemType.cs
│ │ └── XamlTypeProvider.cs
│ ├── PrintHelper.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── GraphX.UAP.Controls.rd.xml
│ └── Themes
│ └── Generic.xaml
├── info.md
├── LICENSE
└── README.md
115 directories, 598 files
标签:
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论