首页 > 其他分享 >WinUI中的新用法

WinUI中的新用法

时间:2023-03-08 21:37:20浏览次数:46  
标签:Text FileOpenPicker await WinUI FileName file 用法 fileOpenPicker

这里是指新的桌面开发框架WinUI3,WinUI2只是UWP的一个库。

主要介绍了我在开发中遇到的常见的功能在WinUI3中不同与WPF或UWP的使用方式的写法。

文件选择器

WPF:OpenFileDialog
OpenFileDialog openFileDialog = new OpenFileDialog();
bool? result = openFileDialog.ShowDialog();
if (result.HasValue&&result.Value) {
    FileName.Text = openFileDialog.FileName;
} else {
    FileName.Text= null;
}
UWP:FileOpenPicker
FileOpenPicker picker = new FileOpenPicker();
picker.FileTypeFilter.Add("*");
StorageFile file = await picker.PickSingleFileAsync();
if (file!=null) {
    FileName.Text=file.Name;
} else {
    FileName.Text = "";
}
WinUI:FileOpenPicker
FileOpenPicker fileOpenPicker = new FileOpenPicker();
IntPtr hwnd = WinRT.Interop.WindowNative.GetWindowHandle(this);
WinRT.Interop.InitializeWithWindow.Initialize(fileOpenPicker, hwnd);
fileOpenPicker.FileTypeFilter.Add("*");
StorageFile file = await fileOpenPicker.PickSingleFileAsync();
if (file != null) {
    FileName.Text = file.Name;
} else {
    FileName.Text = "";
}

异步线程更新UI

WPF:InvokeAsync
  await Dispatcher.InvokeAsync(() => { MyTextBlock.Text = "123"; });
UWP:RunAsync
 await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { MyTextBlock.Text = "123"; });
WinUI:TryEnqueue
 DispatcherQueue.TryEnqueue(Microsoft.UI.Dispatching.DispatcherQueuePriority.Normal, () => { MyTextBlock.Text = "123"; });

标签:Text,FileOpenPicker,await,WinUI,FileName,file,用法,fileOpenPicker
From: https://www.cnblogs.com/yxllxy/p/17192511.html

相关文章

  • QueryWrapper用法
    @Test   publicvoidsquery(){       //创建QueryWrapper对象       QueryWrapper<User>queryWrapper=newQueryWrapper<>();       //......
  • STL:map映照容器的简单用法(poj 2503 Babelfish)
    STL中map映照容器由一个键值和一个映照数据组成,具有一一对应的关系。结构为:键值--映照数据       例: aaa --111             bbb--222   ......
  • (转)Golang中time包用法及一些注意事项
    原文:https://blog.csdn.net/wade3015/article/details/109328485在我们日常软件开发过程中,经常会用到与时间相关的各种业务需求,下面来介绍golang中有关时间的一些基本用......
  • html中hr标签的用法
    https://www.yisu.com/zixun/119190.htmlhtml中hr标签定义和用法:<hr>标签在HTML页面中创建一条水平线。水平分隔线(horizontalrule)可以在视觉上将文档分隔成各个部分......
  • for循环原理补充、生成器对象、yield冷门用法、生成器表达式的面试题、常见内置函数
    目录一、for循环原理补充二、生成器对象(1)、自定义生成器对标range功能(一个参数两个参数三个参数迭代器对象)三、yield冷门用法(1)、yield与return的对比四、生成器表......
  • Python第三方库request的安装及基本用法
    ​1、安装安装命令:pipinstallrequests豆瓣源安装:pipinstallrequests-ihttps://pypi.douban.com/simple/​2、requests常见参数​url参数:传入的是字符串,请求地址data......
  • Python中Index的用法
    1.Index常用于Python的List数据类型在Python中有一种数据类型叫作List数据类型。程序员口中和中文翻译过来都称之为List数据类型,而Index主要用于List数据类型中。Index......
  • Serializer高级用法之source和SerializerMethodField
    __str__实例化对象效果1:    __str__实例化对象效果2:    Serializer高级用法总结:    序列化中的source用法_1.重定义返回前端字段名:  ......
  • .gitignore文件用法及如何配置
    .gitignore文件是在git提交的时候用来屏蔽某些你不想提交上去的文件。项目开发过程中,有时候不想把一些文件(如中间文件/编译文件等)提交到git上。这个时候就由.gitignore文......
  • git常用基本指令及用法含义
      工作原理:说明:workspace:工作区stagingarea:暂存区/缓存区localrepository:版本库或本地仓库remoterepository:远程仓库一个简单的操作gitinit-初始化仓......