在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → NodeNetwork:基于ReactiveUI的C# WPF节点编辑器库源码下载

NodeNetwork:基于ReactiveUI的C# WPF节点编辑器库源码下载

一般编程问题

下载此实例

实例介绍

【实例简介】
NodeNetwork是一个强大的.NET C# WPF库,它提供了一个基于ReactiveUI的节点编辑器组件。无论您是需要构建一个计算器示例应用程序还是更复杂的着色器编辑器,Wouterdek都能够满足您的需求。

特点:
  • 支持.NET Framework 4.7.2及.NET Core 3.1或更新版本
  • 开放、宽松的许可证
  • 使用现代反应式MVVM代码构建的交互式、稳健的控件
  • 支持适当的平移、缩放控制
  • 自动布局系统
  • 高度可定制,但默认易于使用
  • 广泛的网络和连接验证支持
  • 通过单元测试支持

快速入门指南:要使用这个库,您可以查看本页面的快速入门指南。文档包括设置信息、教程章节、示例和API参考。

【实例截图】

from clipboard

【核心代码】
文件清单
└── NodeNetwork-9e453f706e6a4bc7841d5d4b6b74e76239520e23
    ├── CalculatorTests
    │   ├── CalculatorTests.csproj
    │   └── NetworkValidationTests.cs
    ├── Documentation
    │   ├── api
    │   │   └── index.md
    │   ├── docfx.json
    │   ├── index.md
    │   └── toc.yml
    ├── ExampleCalculatorApp
    │   ├── App.xaml
    │   ├── App.xaml.cs
    │   ├── ExampleCalculatorApp.csproj
    │   ├── packages.config
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── ViewModels
    │   │   ├── IntegerValueEditorViewModel.cs
    │   │   ├── MainViewModel.cs
    │   │   └── Nodes
    │   │       ├── ConstantNodeViewModel.cs
    │   │       ├── DivisionNodeViewModel.cs
    │   │       ├── OutputNodeViewModel.cs
    │   │       ├── ProductNodeViewModel.cs
    │   │       ├── SubtractionNodeViewModel.cs
    │   │       └── SumNodeViewModel.cs
    │   └── Views
    │       ├── IntegerValueEditorView.xaml
    │       ├── IntegerValueEditorView.xaml.cs
    │       ├── MainWindow.xaml
    │       └── MainWindow.xaml.cs
    ├── ExampleCodeGenApp
    │   ├── App.xaml
    │   ├── App.xaml.cs
    │   ├── ExampleCodeGenApp.csproj
    │   ├── Model
    │   │   ├── Compiler
    │   │   │   ├── CompilerContext.cs
    │   │   │   ├── Error
    │   │   │   │   ├── CompilerException.cs
    │   │   │   │   └── VariableOutOfScopeException.cs
    │   │   │   ├── IStatement.cs
    │   │   │   └── ITypedExpression.cs
    │   │   ├── ForLoop.cs
    │   │   ├── FunctionCall.cs
    │   │   ├── InlineVariableDefinition.cs
    │   │   ├── IntLiteral.cs
    │   │   ├── ITypedVariableDefinition.cs
    │   │   ├── LocalVariableDefinition.cs
    │   │   ├── StatementSequence.cs
    │   │   ├── StringLiteral.cs
    │   │   ├── StubStatement.cs
    │   │   └── VariableReference.cs
    │   ├── packages.config
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── Resources
    │   │   └── grid.png
    │   ├── ViewModels
    │   │   ├── CodeGenConnectionViewModel.cs
    │   │   ├── CodeGenInputViewModel.cs
    │   │   ├── CodeGenListInputViewModel.cs
    │   │   ├── CodeGenNodeViewModel.cs
    │   │   ├── CodeGenOutputViewModel.cs
    │   │   ├── CodeGenPendingConnectionViewModel.cs
    │   │   ├── CodeGenPortViewModel.cs
    │   │   ├── CodeNodeGroupIOBinding.cs
    │   │   ├── CodePreviewViewModel.cs
    │   │   ├── CodeSimViewModel.cs
    │   │   ├── Editors
    │   │   │   ├── GroupEndpointEditorViewModel.cs
    │   │   │   ├── IntegerValueEditorViewModel.cs
    │   │   │   └── StringValueEditorViewModel.cs
    │   │   ├── MainViewModel.cs
    │   │   └── Nodes
    │   │       ├── ButtonEventNode.cs
    │   │       ├── ForLoopNode.cs
    │   │       ├── GroupNodeViewModel.cs
    │   │       ├── GroupSubnetIONodeViewModel.cs
    │   │       ├── IntLiteralNode.cs
    │   │       ├── PrintNode.cs
    │   │       └── TextLiteralNode.cs
    │   └── Views
    │       ├── CodeGenConnectionView.xaml
    │       ├── CodeGenConnectionView.xaml.cs
    │       ├── CodeGenNodeView.xaml
    │       ├── CodeGenNodeView.xaml.cs
    │       ├── CodeGenPendingConnectionView.xaml
    │       ├── CodeGenPendingConnectionView.xaml.cs
    │       ├── CodeGenPortView.xaml
    │       ├── CodeGenPortView.xaml.cs
    │       ├── CodePreviewView.xaml
    │       ├── CodePreviewView.xaml.cs
    │       ├── CodeSimView.xaml
    │       ├── CodeSimView.xaml.cs
    │       ├── Converters
    │       │   └── TypeVisibilityCheck.cs
    │       ├── Editors
    │       │   ├── GroupEndpointEditorView.xaml
    │       │   ├── GroupEndpointEditorView.xaml.cs
    │       │   ├── IntegerValueEditorView.xaml
    │       │   ├── IntegerValueEditorView.xaml.cs
    │       │   ├── StringValueEditorView.xaml
    │       │   └── StringValueEditorView.xaml.cs
    │       ├── GroupNodeView.xaml
    │       ├── GroupNodeView.xaml.cs
    │       ├── GroupSubnetIONodeView.xaml
    │       ├── GroupSubnetIONodeView.xaml.cs
    │       ├── MainWindow.xaml
    │       └── MainWindow.xaml.cs
    ├── ExampleShaderEditorApp
    │   ├── App.xaml
    │   ├── App.xaml.cs
    │   ├── ExampleShaderEditorApp.csproj
    │   ├── Model
    │   │   ├── ShaderFunc.cs
    │   │   ├── Vec2.cs
    │   │   └── Vec3.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── Render
    │   │   ├── Camera.cs
    │   │   ├── Mesh.cs
    │   │   ├── Model.cs
    │   │   ├── Quaternion.cs
    │   │   ├── Renderer.cs
    │   │   ├── RenderObject.cs
    │   │   ├── Shader.cs
    │   │   ├── ShaderProgram.cs
    │   │   ├── Texture.cs
    │   │   └── WavefrontLoader.cs
    │   ├── Resources
    │   │   ├── Icons
    │   │   │   ├── colorwheel.png
    │   │   │   ├── eye.png
    │   │   │   ├── norm.png
    │   │   │   └── pos.png
    │   │   ├── Models
    │   │   │   ├── cube.obj
    │   │   │   └── suzanne.obj
    │   │   └── Shaders
    │   │       ├── fragment.glsl
    │   │       └── vertex.glsl
    │   ├── ViewModels
    │   │   ├── Editors
    │   │   │   ├── ColorEditorViewModel.cs
    │   │   │   ├── FloatEditorViewModel.cs
    │   │   │   ├── Vec2EditorViewModel.cs
    │   │   │   └── Vec3EditorViewModel.cs
    │   │   ├── EnumEditorViewModel.cs
    │   │   ├── MainViewModel.cs
    │   │   ├── Nodes
    │   │   │   ├── ColorNodeViewModel.cs
    │   │   │   ├── GeometryNodeViewModel.cs
    │   │   │   ├── Math2NodeViewModel.cs
    │   │   │   ├── MathNodeViewModel.cs
    │   │   │   ├── NodeCategory.cs
    │   │   │   ├── ShaderNodeViewModel.cs
    │   │   │   ├── ShaderOutputNodeViewModel.cs
    │   │   │   ├── TimeNodeViewModel.cs
    │   │   │   ├── Vec2PackNodeViewModel.cs
    │   │   │   ├── Vec2UnpackNodeViewModel.cs
    │   │   │   ├── Vec3MathNodeViewModel.cs
    │   │   │   ├── Vec3PackNodeViewModel.cs
    │   │   │   └── Vec3UnpackNodeViewModel.cs
    │   │   ├── ShaderNodeInputViewModel.cs
    │   │   ├── ShaderNodeOutputViewModel.cs
    │   │   └── ShaderPreviewViewModel.cs
    │   └── Views
    │       ├── ColorEditorView.xaml
    │       ├── ColorEditorView.xaml.cs
    │       ├── EnumEditorView.xaml
    │       ├── EnumEditorView.xaml.cs
    │       ├── FloatEditorView.xaml
    │       ├── FloatEditorView.xaml.cs
    │       ├── MainWindow.xaml
    │       ├── MainWindow.xaml.cs
    │       ├── ShaderPreviewView.xaml
    │       ├── ShaderPreviewView.xaml.cs
    │       ├── Vec2EditorView.xaml
    │       ├── Vec2EditorView.xaml.cs
    │       ├── Vec3EditorView.xaml
    │       └── Vec3EditorView.xaml.cs
    ├── ExamplesPackaging
    │   ├── 7zip
    │   │   ├── 7z.dll
    │   │   ├── 7z.exe
    │   │   ├── 7-zip32.dll
    │   │   └── 7-zip.dll
    │   └── package.bat
    ├── gen_docs.ps1
    ├── LICENSE
    ├── NodeNetwork
    │   ├── NNViewRegistrar.cs
    │   ├── NodeNetwork.csproj
    │   ├── packages.config
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── Themes
    │   │   ├── ConnectionView.xaml
    │   │   ├── EndpointGroupView.xaml
    │   │   ├── Endpoint.xaml
    │   │   ├── ErrorMessageView.xaml
    │   │   ├── Generic.xaml
    │   │   ├── NodeEndpointEditorView.xaml
    │   │   ├── NodeInputView.xaml
    │   │   ├── NodeOutputView.xaml
    │   │   ├── NodeView.xaml
    │   │   ├── PendingConnectionView.xaml
    │   │   └── PortView.xaml
    │   ├── Utilities
    │   │   ├── LongestCommonSubsequence.cs
    │   │   ├── ReactiveExtensions.cs
    │   │   └── WPF
    │   │       ├── BoolToZIndexConverter.cs
    │   │       ├── NullVisibilityConverter.cs
    │   │       └── WPFUtils.cs
    │   ├── ValidationResult.cs
    │   ├── ViewModels
    │   │   ├── ConnectionViewModel.cs
    │   │   ├── CutLineViewModel.cs
    │   │   ├── Endpoint.cs
    │   │   ├── EndpointGroup.cs
    │   │   ├── EndpointGroupViewModel.cs
    │   │   ├── EndpointGroupViewModelFactory.cs
    │   │   ├── ErrorMessageViewModel.cs
    │   │   ├── NetworkViewModel.cs
    │   │   ├── NodeEndpointEditorViewModel.cs
    │   │   ├── NodeInputViewModel.cs
    │   │   ├── NodeOutputViewModel.cs
    │   │   ├── NodeViewModel.cs
    │   │   ├── PendingConnectionViewModel.cs
    │   │   ├── PortViewModel.cs
    │   │   └── SelectionRectangleViewModel.cs
    │   └── Views
    │       ├── ConnectionView.cs
    │       ├── Controls
    │       │   ├── ArrowToggleButton.xaml
    │       │   ├── ArrowToggleButton.xaml.cs
    │       │   ├── DragCanvas.cs
    │       │   ├── FillPanel.cs
    │       │   ├── ViewModelViewHostNoAnimations.xaml
    │       │   └── ViewModelViewHostNoAnimations.xaml.cs
    │       ├── EndpointGroupView.cs
    │       ├── ErrorMessageView.cs
    │       ├── NetworkView.xaml
    │       ├── NetworkView.xaml.cs
    │       ├── NodeEndpointEditorView.cs
    │       ├── NodeInputView.cs
    │       ├── NodeOutputView.cs
    │       ├── NodeView.cs
    │       ├── PendingConnectionView.cs
    │       └── PortView.cs
    ├── NodeNetwork.sln
    ├── NodeNetworkTests
    │   ├── EndpointGroupingTests.cs
    │   ├── LCSTests.cs
    │   ├── NetworkViewModelTests.cs
    │   ├── NodeInputViewModelTests.cs
    │   ├── NodeNetworkTests.csproj
    │   ├── NodeOutputViewModelTests.cs
    │   ├── NodeViewModelTests.cs
    │   ├── ReactiveExtensionsTests.cs
    │   └── ValueListInputTests.cs
    ├── NodeNetworkToolkit
    │   ├── BreadcrumbBar
    │   │   ├── BreadcrumbBarViewModel.cs
    │   │   ├── BreadcrumbBarView.xaml
    │   │   └── BreadcrumbBarView.xaml.cs
    │   ├── ContextMenu
    │   │   ├── AddNodeContextMenuViewModel.cs
    │   │   ├── SearchableContextMenuViewModel.cs
    │   │   ├── SearchableContextMenuView.xaml
    │   │   └── SearchableContextMenuView.xaml.cs
    │   ├── GraphAlgorithms.cs
    │   ├── Group
    │   │   ├── AddEndpointDropPanel
    │   │   │   ├── AddEndpointDropPanelViewModel.cs
    │   │   │   ├── AddEndpointDropPanelView.xaml
    │   │   │   └── AddEndpointDropPanelView.xaml.cs
    │   │   ├── NodeGrouper.cs
    │   │   ├── NodeGroupIOBinding.cs
    │   │   └── ValueNodeGroupIOBinding.cs
    │   ├── Layout
    │   │   └── ForceDirected
    │   │       ├── Configuration.cs
    │   │       ├── Engine.cs
    │   │       ├── ForceDirectedLayouter.cs
    │   │       └── State.cs
    │   ├── NodeList
    │   │   ├── NodeListViewModel.cs
    │   │   ├── NodeListView.xaml
    │   │   └── NodeListView.xaml.cs
    │   ├── NodeNetworkToolkit.csproj
    │   ├── NodeTemplate.cs
    │   ├── packages.config
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   └── ValueNode
    │       ├── ValidationAction.cs
    │       ├── ValueEditorViewModel.cs
    │       ├── ValueListNodeInputViewModel.cs
    │       ├── ValueNodeInputViewModel.cs
    │       └── ValueNodeOutputViewModel.cs
    ├── NuGet
    │   └── publish.ps1
    ├── README.md
    └── StressTest
        ├── App.config
        ├── App.xaml
        ├── App.xaml.cs
        ├── MainWindow.xaml
        ├── MainWindow.xaml.cs
        ├── packages.config
        ├── Properties
        │   ├── AssemblyInfo.cs
        │   ├── Resources.Designer.cs
        │   ├── Resources.resx
        │   ├── Settings.Designer.cs
        │   └── Settings.settings
        └── StressTest.csproj

57 directories, 265 files

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警