設定情報とデータの保存 (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;
}
※関連コンテンツ