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方法)。

相关内容

热门资讯

玩家必备科普!wepoker有... 玩家必备科普!wepoker有没有挂,wpk私人辅助,科技教程(有挂攻略)是一款可以让一直输的玩家,...
攻略讲解!pokermaste... 攻略讲解!pokermaster辅助器,德州透视是真的假的,wpk教程(有挂软件);原来确实真的有挂...
科技新动态!约局吧透视挂下载,... 《科技新动态!约局吧透视挂下载,wepoker怎么破解游戏,必备教程(有挂软件)》 wepoker怎...
热点推荐!pokemmo免费脚... 热点推荐!pokemmo免费脚本,HH平台挂,安装教程(有挂透明)这是由厦门游乐互动科技有限公司精心...
重大通报!newpoker脚本... 1、重大通报!newpoker脚本,wepoker插件功能辅助器,曝光教程(有挂教程);详细教程。2...
推荐十款!wepoker有脚本... 推荐十款!wepoker有脚本吗,wepoker私人局透视插件,存在挂教程(有挂攻略);1分钟了解详...
盘点一款!aapoker俱乐部... 1、盘点一款!aapoker俱乐部靠谱吗,拱趴大菠萝有挂吗,科技教程(有挂辅助);详细教程。2、aa...
来一盘!wepoker私人局俱... 1、来一盘!wepoker私人局俱乐部辅助,impoker辅助,2025教程(有挂软件)。2、wep...
重大来袭!we poker辅助... 这是一款非常优秀的aapoker透视脚本入口 ia辅助检测软件,能够让你了解到aapoker透视脚本...
1.9分钟了解!wepoker... 此外,数据分析德州(wepoker永久免费脚本)辅助神器app还具备辅助透视行为开挂功能,通过对客户...