【萬裡征程——Windows App開發】應用設定和應用協助,征程app
”設定“合約
上一節中我們學習了如何將應用設定儲存到本地,這種方式是通過在App內添加設定選項,這裡還有一種方式。微軟將其稱為設定協定,並且所有的Windows市集應用都將自動配合這種合約。但是應用內建的這種設定如果不做任何修改可謂毫無作用。而我們添加這些設定則可以讓應用更加個人化哦。
SettingsFlyout
首先建立一個SettingsFlyout頁面,也許很多童鞋會像我當初學這個一樣立馬就偵錯工具等著看看這個設定是長什麼樣,不過現在還用不了哦。
如下所示,我們可以修改IconSource來改變”設定“中的表徵圖。
然後我將設定介面的布局設定如下咯。
<StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Orientation="Vertical"> <StackPanel Orientation="Vertical" > <TextBlock Text="Big Car 的美好一天" FontSize="28" Foreground="Red" Margin="12"/> <TextBlock Text="購買一輛Big Car會讓你的生活充滿活力,充滿激情!" FontSize="20" Margin="12" TextWrapping="Wrap" Foreground="Black"/> <TextBlock Text="想購買的話可以直接發郵件 nomasp@outlook.com" FontSize="20" Margin="12" Foreground="Gold" TextWrapping="Wrap"/> </StackPanel> <StackPanel Orientation="Vertical" Margin="8"> <ToggleSwitch x:Name="toggleSwitch1" Header="每日更新Big Car的最新圖片" OnContent="On" OffContent="Off" Toggled="ToggleSwitch_Toggled" /> <ToggleSwitch x:Name="toggleSwitch2" Header="向我推送相關的動態" OnContent="On" OffContent="Off" Toggled="ToggleSwitch_Toggled" IsOn="True"/> </StackPanel> <StackPanel Orientation="Vertical" Margin="0,12,0,12"> <Button Content="好評該應用唄" Margin="12"/> <Button Content="清除所有緩衝" Margin="12"/> </StackPanel></StackPanel>
App.xaml.cs
先在app.xaml.cs中添加下面這條命名空間,和以下3個方法
using Windows.UI.ApplicationSettings;
protected override void OnWindowCreated(WindowCreatedEventArgs args){ SettingsPane.GetForCurrentView().CommandsRequested += OnCommandsRequested;}private void OnCommandsRequested(SettingsPane sender,SettingsPaneCommandsRequestedEventArgs args){ args.Request.ApplicationCommands.Add(new SettingsCommand("BigCarMainSettings", "Big Car 的主要設定", (handler) => ShowCustomSettingFlyout()));}public void ShowCustomSettingFlyout(){ BigCarSettings CustomSettingFlyout = new BigCarSettings(); CustomSettingFlyout.Show();}
當然了,在那些控制項中的點擊啥的最後都要在後台代碼中添加的,就像上一篇部落格那樣來儲存設定就好啦。
以上就是關於應用設定同樣的內容咯,而應用協助嘛,和這些都是一樣的呀。建立同樣的目標就好了。然後在XAML中修改成自己喜歡的樣子就好啦。而且和應用設定一樣,我們也可以在底部設定應用程式列的,關於應用程式列的內容可以訪問這裡:【萬裡征程——Windows App開發】應用程式列。
protected override void OnWindowCreated(WindowCreatedEventArgs args){ SettingsPane.GetForCurrentView().CommandsRequested += OnCommandsRequested;}private void OnCommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args){ args.Request.ApplicationCommands.Add(new SettingsCommand("BigCarHelp", "Big Car 的協助", (handler) => ShowHelpSettingsFlyout()));}public void ShowHelpSettingsFlyout(){ BigCarHelphelpSF = new BigCarHelp(); helpSF.Show();}
這一篇部落格內容也還算簡單啦,看看圖片和代碼應該都沒問題的,那就先這樣咯。下一篇再見啦!