調用通用的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上運行是這樣的。
在手機上運行是這樣的。
然后以設置手機桌面壁紙為例,修改壁紙后的開始屏幕是這樣的。
如何,是不是很簡單呢。
示例下載地址:http://files.cnblogs.com/files/tcjiaan/CustomWallpage.zip