avalonia专题

Avalonia 常用控件二 Menu相关

1、Menu 添加代码如下 <Button HorizontalAlignment="Center" Content="Menu/菜单"><Button.Flyout><MenuFlyout><MenuItem Header="打开"/><MenuItem Header="-"/><MenuItem Header="关闭"/></MenuFlyout></Button.Flyout></B

Avalonia TreeView 示例代码

参考文档 https://docs.avaloniaui.net/docs/reference/controls/detailed-reference/treeview-1 新建一个avalonia MVVM工程AvaloniaAppTreeview,删掉MainWindow.xaml里的<TextBlock Text="{Binding Greeting}" HorizontalAlignme

【Avalonia入门篇1】Avalonia的安装

目录 一、环境安装 1.1 安装.NET 1.2 安装Avalonia模板 1.3 安装VS编译器 1.4 安装Avalonia扩展 二、创建第一个Avalonia项目 一、环境安装 1.1 安装.NET 按照官网提示下载并安装.NET。如下图所示: 安装完成后,打开power shell,输入下面的命令: dotnet 正常输入如下所示即为安装成功: U

Avalonia .NET构建Linux桌面应用

目录 👻前言 💻安装Avalonia 📦创建项目 📚在win下运行 ​🔑打包发布​编辑 📻在linux下运行 环境WIN10  VS2022  debian 👻前言 Avalonia 是一个用于创建跨平台用户界面 (UI) 的开源框架。它是一个基于 .NET 平台的框架,允许开发者使用 XAML 和 C#(F#)来构建跨平台的应用程序。Avalonia

Avalonia 捕获全局异常(UI线程 和 非UI线程),增加客户端的稳定性

在 App.axaml.cs 中,App类添加下列事件; 1.重写 OnFrameworkInitializationCompleted ,会在程序初始化完成后触发 2. 绑定AppDomain中当前域的事件             AppDomain.CurrentDomain.UnhandledException += HandleGlobalException; //UI线程

Avalonia中嵌入网页程序(CefNet)运行在银河麒麟系统上

目录 操作系统版本项目目录结构引入Nuget包扩展一个CefNetApplication类改造App.cs文件启动类改造以及cef全局目录设置主窗口代码实现下载 cef 基础环境将cef基础环境放入Program代码里面设置的全局目录下打银河麒麟下的安装包复制安装包去银河麒麟系统上安装并看效果(完美) 本文接上一章节内容,对Avalonia嵌入网页程序还不熟悉的建议先读上一篇文章

Avalonia中开发自己的模版控件(TemplatedControl)

Avalonia中开发自己的模版控件TemplatedControl 概览开始创建自己的模版控件项目中使用效果展示 概览 TemplatedControl最适合用于可以在各种应用程序之间共享的通用控件。它们是无样式的控件,意味着可以为不同的主题和应用程序重新定义样式。Avalonia定义的大多数标准控件都属于这个类别。 如果您想为TemplatedControl提供一个单独的文

Avalonia笔记4-Rider如何添加xaml支持

在Linux Rider中,File Type中是有XAML文件的,但是新增xaml文件并不能正确的添加到项目中,而且就算是新增文件,直接命名为“XXX.xaml”,也是没有智能提示的。 在引用Style文件的时候,需要新建一个axaml的文件,引入到项目中,但是引入过程报错: No precompiled XAML found for ../Styles/CustomStyles.axam

Avalonia笔记3-样式

学习笔记: 最基本的样式由选择器(selector)和设置器(setters)的集合组成。 1. OfType选择器 应用于所有button控件 <Window.Styles><Style Selector="Button" ><Setter Property="Background" Value="Orange" ></Setter></Style></Window.Styles>

Avalonia(11.0.2)+.NET6 打包运行到银河麒麟V10桌面系统

操作系统配置 项目结构 .net版本 这次我们是在银河麒麟V10系统上打包运行Avalonia(11.0.2)+.NET6.0的程序 开始打包 准备Linux下的桌面快捷方式以及图标 调整AvaloniaApplication2.Desktop.csproj的配置项,重点看下图红色线圈出来的部分,里面涉及到了LinuxPath的设置。 完整的配置如下:

Avalonia学习1:下载通用皮肤SukiUI,并在windows上启动成功

目录 1、引言        2、碰到的问题 1、下载下拉VS2022老版本的用不了。 2、升级后,发现没有装wsl,导致启动不了,但wsl又由于国内的关系安装不了,怎么办呢, 1、引言               最近在想有没有什么可以开发在Linux下运行的桌面软件,本人使用过C#,Java,两种语言,C#中又使用过WPF开发过客户端,因此想有没有什么C#的,可以开发在

Avalonia之ListBox模版设置

最近在使用Avalonia进行开发的时候发现好多用法还是和Wpf有很大的区别,尤其是在WPF使用习惯了Style.Triggs时候,好多之前的想法和方案需要进行转变。Avalonia的样式控制更倾向于Html里面的样式控制。今天将自己在移植过程中的过程做一个记录,方便后续查漏补缺: <UserControl.Styles><!--ListBox的样式--><Style Selector="L

Avalonia学习(二十九)-仪表

Avalonia制作仪表盘,把控件给大家演示一下,Avalonia有三类自定义控件,分别是用户控件、模版控件、自主控件。前面已经很多用户控件了,这个是演示模版控件,另外一种不知道哪种情况下使用。 前端代码: <Styles xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/

Avalonia学习(二十七)-显示图像

其实和Avalonia没有什么关系,但是还是以其它承载,主要是生成二维码。 主要是库:QRCoder 另外是:SixLabors.ImageSharp,ZXing.ImageSharp.Barcode 用image控件显示bitmap即可。 运行效果

c# Avalonia 伪类 Pseudo Classes 改变样式

在Avalonia UI框架中,伪类是一种选择器,它们用于在XAML样式中更改控件的视觉状态,而不更改其逻辑状态。伪类经常用于描述控件的特定状态,如激活、禁用、焦点等,并且可以根据这些状态应用不同的样式规则。 使用伪类时,可以在样式中定义它们,并根据控件的状态设置其外观。伪类以冒号:开头,后跟伪类的名称。Avalonia支持多个伪类,例如:pointerover、:focus、:disabled等

C# Avalonia 折线图

线图开发在C# Avalonia框架中可以通过多种方式实现。由于Avalonia旨在成为跨平台的UI框架,您可以利用多种库和方法来绘制折线图。以下是一个简单的例子,展示了如何在Avalonia应用程序中创建一个基本的折线图。 首先,您需要在Avalonia项目中包含一个图形库,如OxyPlot。以下是如何使用OxyPlot库在Avalonia中创建一个基础的折线图的步骤: 1.在项目中添加Oxy

Avalonia学习(二十三)-大屏

弄一个大屏显示的界面例子,但是代码有点多,还有用户控件。 目前还有一点问题在解决,先看一下界面效果。

Avalonia学习(二十二)-数据库操作端

开始项目式的例子,但是不方便给大家贴代码了。 内容很多,只能演示一个界面,例子上传。 我不擅长界面美化和配色,有兴趣的可以继续完善,当前实现mysql。 最近所有样例的地址: GitHub - jinyuttt/AvaloniaExample: Avalonia练习

使用.NET6 Avalonia开发跨平台三维应用

本文介绍在Vistual Studio 2022中使用Avalonia和集成AnyCAD Rapid AvaloniaUI三维控件的过程。 0 初始化环境 安装Avalonia.Templates dotnet new install Avalonia.Templates 若之前安装过可忽略此步骤。 1 创建项目 选择创建AvaloniaUI项目 选一下.NET6版本和Avalo

Browser框架中调用JS代码(Avalonia)

Browser框架中调用JS代码(Avalonia) 双击项目的名称,然后添加允许使用不安全代码的选项 <AllowUnsafeBlocks>true</AllowUnsafeBlocks> 在Browser项目里新建一个你自己的js文件daka.js 然后在项目里新建一个js调用的代理类DakaJsInterop.cs 这里需要注意的是,添加完js文件后,Browser项目的配置文

Avalonia学习(二十)-登录界面演示

今天开始继续Avalonia练习。 本节:演示实现登录界面 在网上看见一个博客,展示Avalonia实现,仿照GGTalk,我实现了一下,感觉是可以的。将测试的数据代码效果写下来。主要是样式使用,图片加载方式。 只有前台代码 <Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/

Avalonia学习(十七)-CEF

今天开始继续Avalonia练习。 本节:CefNet 1.引入 CefNet.Avalonia.Eleven 2.项目引入 Program中加入 using Avalonia;using Avalonia.ReactiveUI;using Avalonia.Threading;using CefNet;using System;using System.IO;using

c# Avalonia 样式资源

在Avalonia中,样式资源是用来定义UI元素外观和行为的一种集中化方式。以下是一个关于如何创建和使用样式资源的基本示例: 创建样式资源文件 首先,在Avalonia项目中创建一个Resource Dictionary(资源字典)文件,例如Styles.xaml: <!-- Styles.xaml --><ResourceDictionary xmlns="https://github.

Avalonia框架下实现热更新

在Avalonia框架下实现热更新(也称为动态加载或模块化更新),通常涉及程序集的动态加载与卸载,以及UI元素、视图模型或其他应用程序逻辑部分的实时替换。由于Avalonia本身是一个跨平台的GUI框架,并没有直接内置热更新机制,开发者需要结合.NET的模块化和反射机制来实现这一功能。 一个大致的示例思路如下: 构建可插拔模块: 将可更新的部分(如视图或逻辑组件)封装到单独的DLL中。这些D

Avalonia学习(十五)-OxyPlot

今天开始继续Avalonia练习。展示一些样例,尤其是第三方库的使用。 本节:OxyPlot 1.引入OxyPlot.Avalonia 2.项目引入 在Main方法里增加OxyPlotModule.EnsureLoaded()方法调用。 public static void Main(string[] args){OxyPlotModule.EnsureLoaded();AppBuil

使用FluentAvalonia组件库快速完成Avalonia前端开发

前言 工欲善其事必先利其器,前面我们花了几篇文章介绍了Avalonia框架以及如何在Avalonia框架下面使用PrismAvalonia完成MVV模式的开发。今天我们将介绍一款重磅级的Avalonia前端组件库,里面封装了我们开发中常用的组件,这样就不用我们自己再写组件了。专注业务功能开发,提高交付效率。 nuget安装FluentAvaloniaUI Fludotnet add pack