設定情報とデータの保存 (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にしてみてください。
●プログラム・リスト●
※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; }
※関連コンテンツ