asp.net去除html標(biāo)簽(java去掉html標(biāo)簽)
前言
AvaloniaUI是一個(gè)優(yōu)秀的XAML的跨平臺(tái)UI框架,支持Windows、Linux、MacOS。Avalonia 已經(jīng)成熟并且可以投入生產(chǎn)。
本文介紹在Vistual Studio 2022中使用Avalonia并與AnyCAD Rapid SDK三維控件集成的環(huán)境搭建過程。
初始化環(huán)境
安裝Avalonia.Templates
dotnet new install Avalonia.Templates
這樣在VS2022中就可以看到創(chuàng)建Avalonia應(yīng)用的模板。若之前安裝過可忽略此步驟。
創(chuàng)建項(xiàng)目
啟動(dòng)VS,選擇創(chuàng)建AvaloniaUI項(xiàng)目
選一下.NET 6 版本和Avalonia版本
展開全文
配置項(xiàng)目
從nuget.org上安裝AnyCAD AvaloniaUI。
設(shè)計(jì)界面
在MainWindow.axaml里面集成AnyCAD Rapid控件:
首先引入程序集:xmlns:anycad="clr-namespace:AnyCAD.AvaloniaUI;assembly=AnyCAD.AvaloniaUI"
設(shè)計(jì)布局
直接加個(gè)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函數(shù)做修改
[ STAThread]
publicstaticvoidMain( string[] args )
{
// 初始化
AnyCAD.Foundation.GlobalInstance.Initialize;
BuildAvaloniaApp.StartWithClassicDesktopLifetime(args);
// 釋放資源
AnyCAD.Foundation.GlobalInstance.Destroy;
}
運(yùn)行一下:
顯示模型
MainWindow函數(shù)中響應(yīng)一下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);
}
}
}
再運(yùn)行一下,打開個(gè)模型
總結(jié)
AvaloniaUI一款優(yōu)秀的跨平臺(tái).NET UI庫,結(jié)合AnyCAD Rapid SDK for AvaloniaUI,就可以快速開發(fā)跨平臺(tái)的三維應(yīng)用。
AnyCAD Rapid SDK的更多功能請(qǐng)參考anycad.rapid.net.sample。
本文完整代碼:https://gitee.com/anycad/anycad.rapid.net.sample/tree/master/AnyCAD.AvaloniaApp
注:AnyCAD Rapid SDK for AvaloniaUI后續(xù)推出支持跨平臺(tái)的版本,敬請(qǐng)期待。
- EOF -
點(diǎn)擊標(biāo)題可跳轉(zhuǎn)
C# 使用ObjectPool提高StringBuilder性能
.NET 中委托性能的演變
gRPC 之 .NET 6 中的使用介紹
看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多人
推薦關(guān)注「DotNet」,提升.Net技能
點(diǎn)贊和在看就是最大的支持??
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。