UI 設定を保存するより迅速な方法は、Properties.Settings.Default システムを使用することです。値への WPF バインディングを使用すると便利です。 例はこちら。設定は自動的に更新され、読み込まれます。
<Window ...
xmlns:p="clr-namespace:UserSettings.Properties"
Height="{Binding Source={x:Static p:Settings.Default}, Path=Height, Mode=TwoWay}"
Width="{Binding Source={x:Static p:Settings.Default}, Path=Width, Mode=TwoWay}"
Left="{Binding Source={x:Static p:Settings.Default}, Path=Left, Mode=TwoWay}"
Top="{Binding Source={x:Static p:Settings.Default}, Path=Top, Mode=TwoWay}">
...
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
Settings.Default.Save();
base.OnClosing(e);
}
それに関する問題は、アプリケーションが大きい場合、すぐに混乱することです。
別の解決策 (ここの誰かが提案) は、ApplicationData パスを使用して、独自の設定を XML に保存することです。そこで、独自の設定クラスを作成し、XML シリアライザーを使用してそれを永続化できます。このアプローチにより、バージョンからバージョンへの移行を行うことができます。この方法はより強力ですが、もう少しコードが必要です。