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 @ 2019-07-10 04:20  singhwong  阅读(322)  评论(0编辑  收藏  举报