1. ホーム
  2. c#

[解決済み] C# - WPFアプリケーションでユーザー設定を保存するためのアプローチ?

2023-03-17 17:50:08

質問

WPFウィンドウズ(デスクトップ)アプリケーションで、ユーザー設定を永続化するためにどのようなアプローチを推奨しますか? アイデアは、ユーザーが実行時に設定を変更することができ、その後アプリケーションを終了することができ、後でアプリケーションを起動するときに、アプリケーションが現在の設定を使用することであることに留意してください。 事実上、アプリケーションの設定は変更されないように見えるでしょう。

Q1 - データベースか他の方法か? 私はとにかく使用する予定のSQLiteデータベースを持っているので、データベース内のテーブルを使用することは、どのようなアプローチと同じくらい良いでしょうか?

Q2 - データベースの場合。どのようなデータベーステーブルの設計ですか? 1つが持つかもしれない異なったデータ型のための列を持つ1つのテーブル(例えば string , long , DateTime など)または、値をシリアライズおよびデシリアライズする必要がある、値の文字列を持つ単なるテーブル? 私は最初の方が簡単だと思いますし、多くの設定がなければオーバーヘッドもそれほど大きくないのでは?

Q3「アプリケーション設定はこのために使うことができますか? もしそうなら、ここで永続化を有効にするために必要な特別なタスクがありますか? また、この場合、アプリケーション設定デザイナーの "default" 値の使用に関して何が起こりますか? アプリケーションを実行する間に保存された設定は、デフォルトで上書きされるのでしょうか?(または、デフォルト値を使用しない必要がありますか?)

どのように解決するのですか?

あなたは アプリケーションの設定 を使用することができますが、設定の読み取りと書き込みにかかる時間を考慮すると、データベースを使用することは最良の選択肢ではありません(特にWebサービスを使用する場合)。

これを実現し、WPFで使用する方法を説明するいくつかのリンクがあります - 。

WPFでのユーザー設定

クイックWPFヒント:WPFアプリケーションのリソースと設定にバインドする方法は?

WPF のための設定可能なウィンドウ