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

推荐订阅源

V
V2EX
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
量子位
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow 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("操作完成");

自定义