个人资料

跳过导航链接首页 > 博客列表 > 博客正文

WinUI3初体验

分类:

1.不在沙盒运行却有了沙盒的病,目前无法以管理员身份运行

https://github.com/microsoft/WindowsAppSDK/discussions/671

2.无法实现窗口透明,使用winapi使用窗口透明后,窗口不可用

3.目前没有WPF的所见即所得的编辑器,这个后续应该会跟上.

4.建议还是用wpf和winform乃至uwp打包

我的建议是目前玩玩即可,不建议使用winui3.0构建项目

使用WPF/UWP构建项目参考资料多,架构成熟,

后续WinUI发展的好的话,移植起也很轻松.

目前属于两边的好处都没得到.期待后续更新.

----关于uwp权限的黑科技

可以使用uwp调用exe,然后再将uwp程序打包(不使用UWP自带的打包),即可轻松获得文件全局权限.

-------

坑1:莫名其妙xaml编译后出现中文乱码/使用多语言资源字典没问题

坑2:scrolllviewer滚轮失效:[需要在设置中设置鼠标滚轮,悬停特性功能打开],目测是一个大问题,这个不改的话一大堆莫名其妙用户将要来骂街

winui 3 apps scrollbar doesn't work with mouse wheel · Issue #5470 · microsoft/microsoft-ui-xaml (github.com)

坑3:使用文件选择/保存器需要初始化InitialWithWindow

            var window = new Microsoft.UI.Xaml.Window();
            // ...
            var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(window);
            var savePicker = new FileSavePicker()
            {
                SuggestedStartLocation = PickerLocationId.DocumentsLibrary,
                SuggestedFileName = filename,
            };
            //var folderPicker = new Windows.Storage.Pickers.FolderPicker();

            savePicker.FileTypeChoices.Add("xlsm", new List<string>() { ".xlsm" });
            savePicker.FileTypeChoices.Add("xlsx", new List<string>() { ".xlsx" });
            ※必须加这个不然报错※WinRT.Interop.InitializeWithWindow.Initialize(savePicker, hwnd);
            await inner_file.CopyAndReplaceAsync(await savePicker.PickSaveFileAsync());


songshizhao
最初发表2023/2/9 11:05:42 最近更新2023/2/12 1:04:42 855
为此篇作品打分
10
   评论