設定情報とデータの保存 (2/5)
作成:2014-03-01 10:49
更新:2014-03-01 10:49
更新:2014-03-01 10:49
■設定情報を保管する
では、実際に簡単な設定情報を保管してみましょう。サンプルとして、テキストボックスを1つ、ボタンを2つもったMainPage.Xamlを作成してみました(下のリスト欄参照)。
そして、MainPage.Xamp.csのMainPageクラスに、下に掲載した2つのメソッドを追記します。
このサンプルでは、テキストボックスに書いたテキストを「Save」ボタンで保存し、「Load」ボタンで読み込みます。
では、設定の読み書きをしている部分を見てみましょう。こんな感じで行っていますね。
●テキストの保存
●保存したテキストの取得
いずれも、まずApplicationData.Current.LocalSettingsからApplicationDataContainerインスタンスを取得します。そして特定のキー(ここでは"textdata")を指定してValuesから値を取り出したり、保管したりしています。取り出す際には、as stringをつけてテキストにキャストしておきます。これを忘れるとトラブルのもとになりますから注意しましょう。
後は、特に問題らしい部分もありません。設定情報の読み書きは、実に簡単なのです。
そして、MainPage.Xamp.csのMainPageクラスに、下に掲載した2つのメソッドを追記します。
このサンプルでは、テキストボックスに書いたテキストを「Save」ボタンで保存し、「Load」ボタンで読み込みます。
では、設定の読み書きをしている部分を見てみましょう。こんな感じで行っていますね。
●テキストの保存
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
localSettings.Values["textdata"] = textBox1.Text;
●保存したテキストの取得
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
textBox1.Text = localSettings.Values["textdata"] as string;
いずれも、まずApplicationData.Current.LocalSettingsからApplicationDataContainerインスタンスを取得します。そして特定のキー(ここでは"textdata")を指定してValuesから値を取り出したり、保管したりしています。取り出す際には、as stringをつけてテキストにキャストしておきます。これを忘れるとトラブルのもとになりますから注意しましょう。
後は、特に問題らしい部分もありません。設定情報の読み書きは、実に簡単なのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | ※MainPage.Xamlの内容 <Page x:Class= "App1.MainPage" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local= "using:App1" xmlns:d= "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc= "http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable= "d" > <Grid Background= "{ThemeResource ApplicationPageBackgroundThemeBrush}" Margin= "0,0,0,0" > <TextBlock x:Name= "textblock1" HorizontalAlignment= "Left" Margin= "113,78,0,0" TextWrapping= "Wrap" Text= "Win 8 App" VerticalAlignment= "Top" Height= "84" Width= "1052" FontSize= "48" /> <TextBox x:Name= "textBox1" HorizontalAlignment= "Left" Height= "218" Margin= "105,183,0,0" TextWrapping= "Wrap" Text= "TextBox" VerticalAlignment= "Top" Width= "493" AcceptsReturn= "True" /> <Button Content= "Save" HorizontalAlignment= "Left" Height= "55" Margin= "104,425,0,0" VerticalAlignment= "Top" Width= "217" Click= "Button1_Click" /> <Button Content= "Load" HorizontalAlignment= "Left" Height= "53" Margin= "384,426,0,0" VerticalAlignment= "Top" Width= "214" Click= "Button2_Click" /> </Grid> </Page> ※MainPage.Xaml.csのMainPageクラスに追記するメソッド private async void Button1_Click( object sender, RoutedEventArgs e) { ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; localSettings.Values[ "textdata" ] = textBox1.Text; MessageDialog dlog = new MessageDialog( "保存しました。" ); await dlog.ShowAsync(); } private void Button2_Click( object sender, RoutedEventArgs e) { ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; textBox1.Text = localSettings.Values[ "textdata" ] as string ; } |
※関連コンテンツ