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

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
小众软件
小众软件
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享

博客园 - 丹心石

数据字节位改变 锁定鼠标光标到指定屏幕 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("操作完成");

自定义