之前写简单的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;//顺便设置下不透明度
}