前言
AvaloniaUI是一个优秀的XAML的跨平台UI框架,支持Windows、Linux、MacOS。Avalonia 已经成熟并且可以投入生产。
本文介绍在Vistual Studio 2022中使用Avalonia并与AnyCAD Rapid SDK三维控件集成的环境搭建过程。
初始化环境
安装Avalonia.Templates
dotnet new install Avalonia.Templates
这样在VS2022中就可以看到创建Avalonia应用的模板。若之前安装过可忽略此步骤。
创建项目
启动VS,选择创建AvaloniaUI项目
选一下.NET 6 版本和Avalonia版本
展开全文
配置项目
从nuget.org上安装AnyCAD AvaloniaUI。
设计界面
在MainWindow.axaml里面集成AnyCAD Rapid控件:
首先引入程序集:xmlns:anycad="clr-namespace:AnyCAD.AvaloniaUI;assembly=AnyCAD.AvaloniaUI"
设计布局
直接加个Button和三维控件。
完整的xaml如下:
< Windowxmlns= "https://github.com/avaloniaui"
xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d= "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc= "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:anycad= "clr-namespace:AnyCAD.AvaloniaUI;assembly=AnyCAD.AvaloniaUI"
mc:Ignorable= "d"d:DesignWidth= "800"d:DesignHeight= "450"
x:Class= "AnyCAD.AvaloniaApp.MainWindow"
Title= "AnyCAD.AvaloniaApp">
< StackPanel>
< ButtonContent= "打开"Width= "160"/>
< anycad:RenderControlx:Name= "mRenderView"Width= "800"Height= "600"></ anycad:RenderControl>
</ StackPanel>
</ Window>
初始化控件
在Program.cs修改初始化代码, Main函数做修改
[ STAThread]
publicstaticvoidMain( string[] args )
{
// 初始化
AnyCAD.Foundation.GlobalInstance.Initialize;
BuildAvaloniaApp.StartWithClassicDesktopLifetime(args);
// 释放资源
AnyCAD.Foundation.GlobalInstance.Destroy;
}
运行一下:
显示模型
MainWindow函数中响应一下Buttond的Click事件
publicpartialclassMainWindow: Window
{
publicMainWindow
{
InitializeComponent;
}
publicvoidOnOpen( objectsender, RoutedEventArgs e )
{
vardlg = newOpenFileDialog;
dlg.Filters.Add( newFileDialogFilter { Name = "Model Files", Extensions = { "step", "stp", "iges", "igs"} });
varresult = dlg.ShowAsync( this);
if(result == null)
return;
stringfileName = result.Result[ 0];
varshape = ShapeIO.Open(fileName);
if(shape != null)
{
varnode = BrepSceneNode.Create(shape, null, null);
varscene = mRenderView.ViewContext.GetScene;
scene.AddNode(node);
mRenderView.ViewContext.RequestUpdate(EnumUpdateFlags.Scene);
}
}
}
再运行一下,打开个模型
总结
AvaloniaUI一款优秀的跨平台.NET UI库,结合AnyCAD Rapid SDK for AvaloniaUI,就可以快速开发跨平台的三维应用。
AnyCAD Rapid SDK的更多功能请参考anycad.rapid.net.sample。
本文完整代码:https://gitee.com/anycad/anycad.rapid.net.sample/tree/master/AnyCAD.AvaloniaApp
注:AnyCAD Rapid SDK for AvaloniaUI后续推出支持跨平台的版本,敬请期待。
- EOF -
点击标题可跳转
C# 使用ObjectPool提高StringBuilder性能
.NET 中委托性能的演变
gRPC 之 .NET 6 中的使用介绍
看完本文有收获?请转发分享给更多人
推荐关注「DotNet」,提升.Net技能
点赞和在看就是最大的支持❤️
温馨提示
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请后台提交工单处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请后台提交工单!
【免责声明】:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
【关于转载】:
本站尊重互联网版权体系,本站部分图片、文章大部分转载于互联网、所有内容不代表本站观点、不对文章中的任何观点负责、转载的目的只用于给网民提供信息阅读,无任何商业用途,所有内容版权归原作者所有
如本站(文章、内容、图片、视频)任何资料有侵权,先说声抱歉;麻烦您请联系请后台提交工单,我们会立即删除、维护您的权益。非常感谢您的理解。
【附】:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
注:本站资源来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系我们处理!
-----------------------------------------------------------------------------------------------------------
【版权声明】:
一、本站致力于为源码爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
-----------------------------------------------------------------------------------------------------------
源码村资源网 » .net网站开发代码(net网站开发教程)
1 评论