bs客户端界面设计(bs cs客户端)

太平洋在线手机版 39 0

前言

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版本

bs客户端界面设计(bs cs客户端)-第1张图片-太平洋在线下载

配置项目

从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 中的使用介绍

看完本文有收获?请转发分享给更多人

bs客户端界面设计(bs cs客户端)-第2张图片-太平洋在线下载

推荐关注「DotNet」,提升.Net技能

点赞和在看就是最大的支持❤️

标签: bs客户端界面设计

抱歉,评论功能暂时关闭!