【Win10应用开发】自定义桌面壁纸

调用通用的API来设置桌面壁纸,是一件既简单又有趣的事情,结合XAML可以生成图像的特性,你甚至可以做一个应用,让用户用他所拍的照片做成一张自定义壁纸,然后作为桌面壁纸。

这个API是通用的,应用运行在任意Windows设备上都能使用,当然包括手机。在Windows.System.UserProfile命名空间下,有一个叫UserProfilePersonalizationSettings的类,它可以修改锁屏壁纸和桌面壁纸,调用后会返回bool值,如果成功就是true,如果人品不佳就返回false。

在调用UserProfilePersonalizationSettings类前,先访问一下IsSupported方法,看看是否支持该操作。然后通过Current属性可以获取到一个UserProfilePersonalizationSettings实例,之后你就可以设置壁纸了。

调用TrySetLockScreenImageAsync方法设置锁屏壁纸,调用TrySetWallpaperImageAsync方法可以设置桌面壁纸,参数都是用来作为背景的图片文件的StorageFile。

从这也看到,用起来真的很简单,给你看个例子:

            // 设置壁纸
            if (!UserProfilePersonalizationSettings.IsSupported())
            {
                msgbox.Content = "人品问题,不支持的操作。";
                await msgbox.ShowAsync();
                return;
            }
            UserProfilePersonalizationSettings settings = UserProfilePersonalizationSettings.Current;
            bool b = await settings.TrySetWallpaperImageAsync(file);
            if (b)
            {
                msgbox.Content = "设置成功。";
            }
            else
            {
                msgbox.Content = "操作失败。";
            }

 

看看效果吧。在PC上运行是这样的。

 

在手机上运行是这样的。

 

然后以设置手机桌面壁纸为例,修改壁纸后的开始屏幕是这样的。

 

如何,是不是很简单呢。

示例下载地址:https://files.cnblogs.com/files/tcjiaan/CustomWallpage.zip

 

posted @ 2015-08-10 12:23  东邪独孤  阅读(3196)  评论(4编辑  收藏  举报