4

現在、WPF を使用してアプリケーションを作成しています。ここで、ユーザー入力に応じてアプリケーションの外観を変更したいと考えています。これは、構成ウィンドウを通じて、ユーザーがアプリケーションの外観を決定し、選択内容に応じてスタイルを変更できることを意味します。構成ごとに複数のスタイルを使用するのではなく、どうすればそれを達成できますか。

例えば-

次の長方形は、いくつかのテキストで構成されています。アプリケーションを再起動すると、ユーザーの選択に応じてコンテンツが表示されます (変更はどこかに保存され、現在の構成の詳細を簡単に取得でき、保存された詳細に応じて、WPF を使用して外観を描画する必要があります)。

  • ユーザーが4つのテキストすべてを表示するオプションを選択した場合、最初の画像のように表示する必要があります
  • ユーザーが 3 つまたは 2 つのテキストのみを表示するオプションを選択すると、内部コンテキストに応じて、長方形のサイズが変更されます (画像 3/4)。
  • たとえば、この長方形に画像が含まれている場合、それに応じて長方形のサイズを変更する必要があります。ユーザーが長方形から画像を削除するように設定を変更した場合は、画像を削除し、それに応じて長方形のサイズを変更する必要があります (画像 4)。

ここに画像の説明を入力

4

3 に答える 3

1

質問はかなり一般的なので、スタイルとテンプレートを使用して WPF コントロールの外観を制御する一般的な方法について説明します。

http://msdn.microsoft.com/en-us/magazine/cc163497.aspx

コントロールの外観と実行時の動作を変更するには、いくつかの方法があります。

wpf テンプレートを操作する直接的でわかりやすい方法 (winforms から来た場合) は、OnApplyTemplate メソッドをオーバーライドし、作成または取得したテンプレートのライブラリから使用するテンプレートを設定することです。

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.onapplytemplate.aspx

しかし、どのようなアプローチが最適かは、ユーザーの設定をどのように読み込んでいるか、UI の基本的な設計、MVVM、MVC、カスタム コントロールなどによって異なります。

于 2013-08-05T16:36:07.013 に答える