.Net Core> = 3.0のWPFアプリケーションのユーザー設定を永続化するために推奨される方法は何ですか?
作成されたWPF .Net Core 3.0プロジェクト(VS2019 V16.3.1)これで、Properties.Settingsセクションがなくなったことがわかりました。
オンライン検索の後、Microsoft.Extensions.Configurationに飛び込み始めました。
設定にアクセスするための肥大化したコードの横に、さらに悪いことに->保存しない?
。NET Coreのユーザー構成設定
幸いにも、残念ながら、Microsoft.Extensions.Configurationは、設計による保存をサポートしていません。このGithubの問題について詳しく読む ConfigurationProviderに保存がない理由
.Net Core> = 3.0のWPFアプリケーションのユーザー設定を永続化するために推奨される(そして簡単/高速/シンプル)方法は何ですか?
_<= .Net 4.8
_以前は、次のように簡単でした。
Wpf Net.Coreの場合
プロジェクトマウスの右ボタンをクリック->新しい項目の追加->設定ファイル(一般)
使用する
Settings1.Default.Height = this.Height;
Settings1.Default.Width = this.Width;
this.Height = Settings1.Default.Height;
this.Width = Settings1.Default.Width;
Settings1.Default.Save();
「Settings1」がファイル名を作成した場所
[〜#〜]例[〜#〜]
'Settings1.settings'ファイルをダブルクリックして編集します
private void MainWindowRoot_SourceInitialized(object sender, EventArgs e)
{
this.Top = Settings1.Default.Top;
this.Left = Settings1.Default.Left;
this.Height = Settings1.Default.Height;
this.Width = Settings1.Default.Width;
// Very quick and dirty - but it does the job
if (Settings1.Default.Maximized)
{
WindowState = WindowState.Maximized;
}
}
private void MainWindowRoot_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (WindowState == WindowState.Maximized)
{
// Use the RestoreBounds as the current values will be 0, 0 and the size of the screen
Settings1.Default.Top = RestoreBounds.Top;
Settings1.Default.Left = RestoreBounds.Left;
Settings1.Default.Height = RestoreBounds.Height;
Settings1.Default.Width = RestoreBounds.Width;
Settings1.Default.Maximized = true;
}
else
{
Settings1.Default.Top = this.Top;
Settings1.Default.Left = this.Left;
Settings1.Default.Height = this.Height;
Settings1.Default.Width = this.Width;
Settings1.Default.Maximized = false;
}
Settings1.Default.Save();
}