UWP笔记-自定义Grid背景图片

之前写简单的UWP版本地音乐播放器,有自定义背景壁纸的功能,现在贴在这里回顾下。

Page.xaml 页面,添加Grid

<Grid x:Name="mainGrid"/>

Page.xaml.cs 打开文件选择器,选择图片

#region 获取本地图片并将其设置为背景
private StorageFolder localFolder = ApplicationData.Current.LocalFolder;
private ImageBrush imageBrush = new ImageBrush();
private ApplicationDataContainer local_backGround = ApplicationData.Current.LocalSettings;//声明应用程序存储的容器
private void SetBackGroundImage()
{            
 FileOpenPicker file = new FileOpenPicker();//打开文件选择器
 file.FileTypeFilter.Add(".jpg");
 file.FileTypeFilter.Add(".png");
 StorageFile image_file = await file.PickSingleFileAsync();
   if (image_file != null)
    {
     StorageFile fileCopy = await image_file.CopyAsync(localFolder, image_file.Name, NameCollisionOption.ReplaceExisting);
     image_source_path = "ms-appdata:///local/" + image_file.Name;
     imageBrush.ImageSource = new BitmapImage(new Uri(image_source_path));
     mainGrid.Background = imageBrush;
     local_backGround.Values["backGround_image"] = image_source_path;//保存图片路径,下次启动获取图片
    }
}
#endregion

下次启动,获取图片并设置为背景

private void ReadBackGroundImage()
{
   var backGround_path = local_backGround.Values["backGround_image"].ToString();
   imageBrush.ImageSource = new BitmapImage(new Uri(backGround_path));
   mainGrid.Background = imageBrush;
   mainGrid.Background.Opacity = 0.7;//顺便设置下不透明度
}

 

posted @   singhwong  阅读(324)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 深度对比:PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
点击右上角即可分享
微信分享提示