TUM.CMS.VPLControl 开源项目教程

TUM.CMS.VPLControl 开源项目教程

TUM.CMS.VPLControl TUM.CMS.VplControl is a WPF based Visual Programming Control for .Net. 项目地址: https://gitcode.com/gh_mirrors/tu/TUM.CMS.VPLControl

1. 项目介绍

TUM.CMS.VPLControl 是一个基于 WPF 的 .NET 可视化编程控件。它允许非程序员通过简单的图形界面编写程序或流程,而无需了解其内部构建方式。该控件支持从零开始进行简单的可视化编程,包括赋值、布尔表达式、数学表达式和脚本。用户还可以轻松添加自定义节点以满足特定需求。该项目主要受到 Dynamo 和 Grasshopper 等知名可视化编程工具的启发。

2. 项目快速启动

2.1 下载和克隆项目

首先,下载或克隆 TUM.CMS.VPLControl 项目到本地:

git clone https://github.com/tumcms/TUM.CMS.VPLControl.git

2.2 运行测试项目

  1. 打开 Visual Studio 并加载项目。
  2. 运行测试项目以查看示例应用程序。

2.3 添加自定义节点

在测试项目中,找到 TemplateNode.cs 文件,这是一个自定义节点的模板。你可以根据需要修改和扩展该节点。

using System.Windows.Controls;
using TUM.CMS.VplControl.Nodes;

namespace TUM.CMS.VplControl.Test.Nodes
{
    public class TemplateNode : Node
    {
        public TemplateNode(VplControl hostCanvas) : base(hostCanvas)
        {
            AddInputPortToNode("Test", typeof(object));
            AddOutputPortToNode("Test", typeof(object));
            AddControlToNode(new Label { Content = "TemplateNode" });
        }

        public override void Calculate()
        {
            OutputPorts[0].Data = InputPorts[0].Data;
        }

        public override void SerializeNetwork(XmlWriter xmlWriter)
        {
            base.SerializeNetwork(xmlWriter);
            // 添加你的 XML 序列化方法
        }

        public override void DeserializeNetwork(XmlReader xmlReader)
        {
            base.DeserializeNetwork(xmlReader);
            // 添加你的 XML 反序列化方法
        }

        public override Node Clone()
        {
            return new TemplateNode(HostCanvas)
            {
                Top = Top,
                Left = Left
            };
        }
    }
}

2.4 在项目中使用 TUM.CMS.VplControl

  1. 创建一个新的 WPF 项目。
  2. 添加对 TUM.CMS.VplControl.dll 的引用。
  3. App.xaml 文件中添加资源字典:
<Application x:Class="KBEControlCenter2.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/TUM.CMS.VplControl.component/Themes/Generic.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>
  1. 在主窗口中添加 VplControl 元素:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:VplControl="clr-namespace:TUM.CMS.VplControl;assembly=TUM.CMS.VplControl"
        x:Class="TUM.CMS.VplControl.Test.MainWindow"
        Title="MainWindow"
        WindowStartupLocation="CenterScreen"
        WindowState="Maximized">
    <Grid>
        <VplControl:VplControl Name="VplControl" />
    </Grid>
</Window>
  1. 将主控件/窗口的按键事件路由到 VplControl
KeyDown += VplControl.VplControl_KeyDown;
KeyUp += VplControl.VplControl_KeyUp;

3. 应用案例和最佳实践

3.1 自动化流程设计

TUM.CMS.VPLControl 可以用于设计自动化流程,例如数据处理、图像处理和业务流程自动化。通过可视化编程,用户可以快速构建复杂的流程,而无需编写大量代码。

3.2 教育培训

该控件非常适合用于教育培训,帮助学生理解编程概念。通过可视化编程,学生可以直观地看到代码的执行过程,从而更好地理解编程逻辑。

3.3 原型设计

在软件开发过程中,TUM.CMS.VPLControl 可以用于快速原型设计。开发人员可以通过可视化编程快速构建应用程序的原型,并进行测试和迭代。

4. 典型生态项目

4.1 Dynamo

Dynamo 是一个开源的可视化编程工具,主要用于建筑信息建模(BIM)。它允许用户通过图形界面创建复杂的建筑模型和自动化流程。

4.2 Grasshopper

Grasshopper 是一个基于 Rhino 的插件,用于参数化设计和生成式设计。它通过可视化编程界面,帮助设计师快速创建复杂的建筑和产品设计。

4.3 Node-RED

Node-RED 是一个基于浏览器的可视化编程工具,主要用于物联网(IoT)应用。它允许用户通过拖放节点来创建复杂的物联网应用。

通过这些生态项目,TUM.CMS.VPLControl 可以进一步扩展其应用场景,满足不同领域的需求。

TUM.CMS.VPLControl TUM.CMS.VplControl is a WPF based Visual Programming Control for .Net. 项目地址: https://gitcode.com/gh_mirrors/tu/TUM.CMS.VPLControl

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

资源下载链接为: https://pan.quark.cn/s/7cc20f916fe3 Apache POI 是一个开源项目,专注于处理微软 Office 文档格式,涵盖 Excel、Word 和 PowerPoint。这个压缩包中包含了 POI 的多个关键版本,分别是 3.8、3.9、3.10 和 4.0.1,它们为 Java 开发者提供了强大的工具来处理 Excel 等文件。 功能改进:此版本首次引入了对 Excel 2007 的 XSSF 和 OOXML 格式支持,使开发者能够创建和编辑 .xlsx 文件。同时,对旧版 Excel(.xls)文件的支持也得到了改进,修复了部分已知问题,提升了稳定性。 API 丰富度:提供了更丰富的 API,让开发者可以更灵活地操作单元格样式、公式和图表等功能。 性能提升:显著增强了 Excel 工作簿的读写性能,尤其在处理大量数据时表现更佳。 功能扩展:更新了对 WordprocessingML 的支持,优化了对 .docx 文件的处理能力;新增了对 PowerPoint 幻灯片的动画和过渡效果处理功能。 内存优化:引入了内存管理优化,降低了内存消耗,尤其在处理大型文档时效果显著。 -Excel ** 功能强化**:加强了对 Excel 图表的支持,新增了更多图表类型和自定义设置;提高了处理 XML Spreadsheet 的效率,读写速度更快。 新特性支持:支持了 Excel 的条件格式化、数据验证和表格样式等新功能。 错误处理改进:引入了更完善的错误处理机制,在处理损坏或不合规文件时能提供更详细的错误信息。 技术升级:完全移除对 Java 6 的支持,转向 Java 8 作为最低要求,从而提升了性能和兼容性。 功能增强:对 Excel 的支持进一步拓展,新增了自定义函数、数组公式和透视表等功能;更新了 Word 和 PowerP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌昱有Melanie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值