jjzjj

Avalonia

全部标签

Avalonia 11.1.0-beta1 发布

11.1.0-beta1Avalonia是dotnet的跨平台UI框架,提供灵活的样式系统,支持Windows、macOS、Linux、iOS、Android和WebAssembly等多种平台。Avalonia已经成熟并已做好生产准备,已被SchneiderElectric、Unity、JetBrains和GitHub等公司使用。 FullChangelog: https://github.com/AvaloniaUI/Avalonia/commits/11.1.0-beta1完整变更日志:https://github.com/AvaloniaUI/Avalonia/commits/11.1.

在Avalonia项目中使用MediatR和MS.DI库实现事件驱动通信

大家好,我是沙漠尽头的狼!AvaloniaUI是一个强大的跨平台.NET客户端开发框架,让开发者能够针对Windows、Linux、macOS、Android和iOS等多个平台构建应用程序。在构建复杂的应用程序时,模块化和组件间的通信变得尤为重要。Prism框架提供了模块化的开发方式,支持插件的热拔插,而MediatR则是一个实现了中介者(Mediator)模式的事件订阅发布框架,非常适合用于模块之间以及模块与主程序之间的通信。本文重点是介绍MediatR,它是.NET中的开源简单中介者模式实现。它通过一种进程内消息传递机制(无其他外部依赖),进行请求/响应、命令、查询、通知和事件的消息传递,

Avalonia 跨平台框架中如何以正确的姿势使用 OpenGL ES 渲染。

前言这是一篇很水的文章,没有任何技术含量,在Github已经有很多人对Avalonia的OpenGLES支持进行了讨论,但是我还是想写一篇文章来记录一下我是如何在Avalonia中使用OpenGLES的。介绍在介绍Avalonia和OpenGLES之前,我们先来了解一下什么是Avalonia和OpenGLES以及Avalonia是如何支持OpenGLES的。Angle和OpenGLESANGLE是一个开源的项目,它的目标是将OpenGLES2.0、3.0和3.1应用程序转换为Direct3D11、Vulkan、Metal和OpenGL3.0+应用程序。ANGLE通过将OpenGLESAPI调用

.NET / C# 开发 Ubuntu Desktop 跨平台图形界面桌面程序 Avalonia - Visual Studio 安装/创建/运行指南 (一)

Avalonia是一个开源的跨平台应用程序框架,用于构建桌面应用程序。它使用C#和XAML进行开发,可以在Windows、macOS、iOS、Android及Linux等多个平台上运行。Avalonia项目地址:https://github.com/AvaloniaUI/Avalonia本文快速介绍如何入门使用Avalonia编写和执行UbuntuDesktop图形界面桌面程序。 打开VisualStudio-Extensions-ManageExtensions,搜索并安装全部结果:avalonia 新建AvaloniaC#项目:编辑MainViewModel.cs中的Greeting后编译

Avalonia报错:no executable found

创建了一个Avalonia控件库,添加了一个UserControl进行编辑时,出现了一个奇怪的问题:无法预览,没有智能提示,编译报错Noexecutablefound。设计器显示:referencethelibraryfromanexecutableorwaitforthesolutiontofinishloading。搜索报错信息:referencethelibraryfromanexecutableorwaitforthesolutiontofinishloading,找到#368,说是因为VS202217.6-17.7之间的某个版本,把变量值改成了小写,导致找不到EXE项目。该提交已处理

Avalonia PathIcon使用

PathIcon是一个Avalonia内置的控件,可以根据Geometry绘制一个图标。源码PathIcon间接继承TemplatedControl,只有一个Geometry类型的依赖属性Data:publicclassPathIcon:IconElement{staticPathIcon(){AffectsRender(DataProperty);}publicstaticreadonlyStyledPropertyDataProperty=AvaloniaProperty.Register(nameof(Data));publicGeometryData{get{returnGetValu

Avalonia报错:no executable found

创建了一个Avalonia控件库,添加了一个UserControl进行编辑时,出现了一个奇怪的问题:无法预览,没有智能提示,编译报错Noexecutablefound。设计器显示:referencethelibraryfromanexecutableorwaitforthesolutiontofinishloading。搜索报错信息:referencethelibraryfromanexecutableorwaitforthesolutiontofinishloading,找到#368,说是因为VS202217.6-17.7之间的某个版本,把变量值改成了小写,导致找不到EXE项目。该提交已处理

Avalonia PathIcon使用

PathIcon是一个Avalonia内置的控件,可以根据Geometry绘制一个图标。源码PathIcon间接继承TemplatedControl,只有一个Geometry类型的依赖属性Data:publicclassPathIcon:IconElement{staticPathIcon(){AffectsRender(DataProperty);}publicstaticreadonlyStyledPropertyDataProperty=AvaloniaProperty.Register(nameof(Data));publicGeometryData{get{returnGetValu

Avalonia创建自定义控件

Avalonia中有三个主要的控件类型:用户控件(UserControl)、模板化控件(TemplatedControl)、基本控件(BasicControl)。创建自定义控件时选择适合的控件类型进行创建,三种控件类型适用场景如下(参考文档):UserControl:适合创建Views或Pages,和创建Window一样,创建一个新的UserControl,然后添加控件即可;TemplatedControl:最常用,能在多个程序之间共享的通用控件。Avalonia定义的大多数标准控件都属于这一类;BasicControl:基础控件,通过重写Visual.Render()方法使用几何图形进行绘制

Avalonia中如何将View事件映射到ViewModel层

前言前面的文章里面我们有介绍在Wpf中如何在View层将事件映射到ViewModel层的文章,传送门,既然WPF和Avalonia是两套不同的前端框架,那么WPF里面实现模式肯定在这边就用不了,本篇我们将分享一下如何在Avalonia前端框架下面将事件映射到ViewModel层。本章内容还是在上一节的基础上做扩展讲解。Avalonia中使用Prism实现区域导航功能安装行为扩展在Avalonia框架下面有它自己的行为扩展,我们需要借助这些扩展库里面的行为扩展来实现我们今天要讲解的功能。dotnetaddpackageAvalonia.Xaml.Behaviors--version11.0.5编