AvaloniaUI的OpenFileDialog和SaveFileDialog-如何检测取消按钮被点击?
创始人
2024-11-12 19:00:47
0
  1. 在OpenFileDialog和SaveFileDialog实例化之后,可以通过注册CancelButtonClicked回调函数来检测取消按钮是否被点击。

示例代码如下:

// 创建一个OpenFileDialog示例
var openFileDialog = new OpenFileDialog();

// 注册CancelButtonClicked回调函数
openFileDialog.CancelButtonClicked += (sender, args) =>
{
    Console.WriteLine("Cancel button was clicked.");
};

// 创建一个SaveFileDialog示例
var saveFileDialog = new SaveFileDialog();

// 注册CancelButtonClicked回调函数
saveFileDialog.CancelButtonClicked += (sender, args) =>
{
    Console.WriteLine("Cancel button was clicked.");
};
  1. 可以通过给OpenFileDialog和SaveFileDialog传递 CancellationTokenSource 实例来实现取消操作,这样当用户点击取消按钮时,CancellationTokenSource会被取消。

示例代码如下:

// 创建一个CancellationTokenSource示例
var cts = new CancellationTokenSource();

// 创建一个OpenFileDialog示例,并将CancellationTokenSource实例传递给它
var openFileDialog = new OpenFileDialog(cts.Token);

// 调用ShowAsync方法,此时可以在其他线程中检测CancellationTokenSource是否已被取消
var result = await openFileDialog.ShowAsync();

if (cts.IsCancellationRequested)
{
    Console.WriteLine("Cancel button was clicked.");
}
else if (result.Length > 0)
{
    Console.WriteLine($"Selected file: {result[0]}");
}

// 创建一个SaveFileDialog示例,并将CancellationTokenSource实例传递给它
var saveFileDialog = new SaveFileDialog(cts.Token);

// 调用ShowAsync方法,此时可以在其他线程中检测CancellationTokenSource是否已被取消
var result = await saveFileDialog.ShowAsync();

if (cts.IsCancellationRequested)
{
    Console.WriteLine("Cancel button was clicked.");
}
else if (result != null)
{
    Console.WriteLine($"Selected file: {result}");
}

注意:为了使CancellationTokenSource实例在用户关闭对话框时得到释放,必须在使用之后及时清理(调用Dispose方法)。

相关内容

热门资讯

wepoke辅助!微扑克有辅助... 1、wepoke辅助!微扑克有辅助软件吗,wpk怎么玩胜率高,必备教程(一贯存在有挂);详细教程。2...
wpk有辅助挂吗!wpk的下风... 自定义wpk有辅助挂吗系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管...
德州辅助软件开发定制!来玩德州... 1、德州辅助软件开发定制!来玩德州app服务器在哪里,德州扑克aa扑克平台,教你攻略(一直真的有挂)...
德扑之星辅助器!德扑之星内部,... 德扑之星辅助器!德扑之星内部,德扑胜率最低的牌,透视教程(有挂教程)1、不需要AI权限,帮助你快速的...
微扑克辅助透视技能教程!轰趴大... 1、微扑克辅助透视技能教程!轰趴大菠萝十三水辅助,wepork私人局有挂吗,揭秘攻略(先前是真的有挂...
德扑ai代打可靠吗!德扑之星作... 此外,数据分析德州(德扑ai代打可靠吗)辅助神器app还具备辅助透视行为开挂功能,通过对客户德扑ai...
微扑克ai辅助工具!poker... 这是一款非常优秀的微扑克ai辅助工具 ia辅助检测软件,能够让你了解到微扑克ai辅助工具中牌率当中全...
微扑克的辅助工具苹果!微扑克可... 1、微扑克的辅助工具苹果!微扑克可以用模拟器,微扑克辅助安卓版本,分享教程(有挂软件);详细教程。2...
wepoke软件规律!wepo... wepoke软件规律!wepoke苹果版外挂,wepoke辅助软件下载链接,黑科技教程(有挂方法)是...
微扑克辅助插件挂!微扑克俱乐部... 微扑克辅助插件挂!微扑克俱乐部设置,微扑克ai辅助会封号吗,必胜教程(有挂技巧)1、很好的工具软件,...