Visual Studio:WPFのxamlでProperties.Settings.Defaultの値をバインド

アブストラク

 Xamlから設定の値をバインドする方法のメモ。

 例えばテキストボックスのテキストなどを設定のstringへ保存しておけば、アプリケーションを再起動した際、終了直前に記入してあった文字を復元することができる。この時、バインドしておけば、WindowのClosingイベント時にアプリケーションの設定を保存するだけでよくなる。

方法

 雑にほかサイトのURLをコピペ。

 バインド方法は下記のサイトを参照

yoshinorin.net

 アプリケーションの設定については下記のサイトを参照

dobon.net

その他

 一応自分でもコードを記載しておく。以下ではテキストボックス(TextBox1)のテキストを設定のTextValue1にバインドする。

  1. ソリューションエクスプローラーのProperties -> 設定にアプリケーションのプロパティ設定を追加(名前はTextValue1、種類はstring、値は何でもよい)
  2. 名前空間を宣言

    xmlns:prop ="clr-namespace:アプリケーションのフォルダ名.Properties"
    

  3. バインド

    <TextBox
       Name="TextBox1"
       Text="{Binding Path=TextValue1, Source={x:Static prop:Settings.Default}}" />
    

  4. WindowのClosingイベントにSaveを追加。(保存のタイミングはいつでも良い)

    private void MainWindow_Closing(object sender, CancelEventArgs e)
    {
        Properties.Settings.Default.Save();
    }