惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
腾讯CDC
GbyAI
GbyAI
I
InfoQ
博客园 - Franky
G
Google Developers Blog
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
Vercel News
Vercel News
博客园_首页
MyScale Blog
MyScale Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
V
V2EX
T
The Blog of Author Tim Ferriss
M
MIT News - Artificial intelligence
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog

博客园 - 丹心石

数据字节位改变 锁定鼠标光标到指定屏幕 WPF 访问WebAPI Avalonia 避坑经验总结 Avalonia 窗口与配置 Avalonia 程序打包成Linux平台的运行程序 数据处理与转换 信号与槽 Qt 串口通信 Avalonia 设计时DataContext数据山下文和WPF设计时DataContext数据上下文 Avalonia Ursa 使用 Avalonia-数据绑定 Avalonia-样式 阿里图标库iconfont 在Avalonia 中的使用 Avalonia MVVM Avlonia 自定义控件 Sqlite EF For ConsoleCore Sqlite EF CodeFirst For WPF win10 环境变量不可编辑 WCF-双工通讯 MahMetro 框架学习 由于缺少调试目标“xxx”Visual Studio 无法开始调试。或者响应地设置outputpath和AssemblyName 属性 WPF 应用程序本地化-资源文件方式 FastReport 行高设置实现行高随内容自动变化
Avalonia-消息对话框
丹心石 · 2026-02-03 · via 博客园 - 丹心石

在Avalonia 中使用消息对话框

在Avalonia 中没有像MessageBox 这样的消息对话框。如果要使用有三种途径:

  • 1.使用免费的,需要安装命名控件 如MessageBox.Avalonia
  install-package MessageBox.Avalonia
    1. 引用命名控件
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;

例如:

using Avalonia.Controls;
using AvaMvvmDemo.ViewModels;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;

namespace AvaMvvmDemo.Views
{
    public partial class MainWindow : Window
    {
        private MainViewModel main;
        public MainWindow()
        {
            InitializeComponent();
            Loaded += MainWindow_Loaded;
        }

        private void MainWindow_Loaded(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
        {
            main = new MainViewModel();
            DataContext = main;

        }

        private async void  BtnMsg_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
        {
            var confirmBox = MessageBoxManager.GetMessageBoxStandard(
                "删除确认",
                "确认要删除这个文件吗?",
                ButtonEnum.YesNo
                );
            var result = await confirmBox.ShowAsync();
            if (result == ButtonResult.Yes)
            {
                main.Caption = "删除文件";
            }
        }
    }
}

使用商业库

 using ActiproSoftware.UI.Avalonia.Controls
 await MessageBox.Show("操作完成");

自定义