0

まず、私はXAML / C#(iOS / Androidプログラマー)を初めて使用するので、すぐに投票するのではなく、我慢してください。私のアプリには、ボタンを含むいくつかのGridViewがあります。これらのボタンの多くは類似しており、これをリファクタリングしたいと思います。簡単にするために、私のボタンが特定の色の長方形であるとしましょう。この色は、GridViewで特定のアイテムを定義するItemクラスに由来する場合もあれば、ハードコーディングされている場合もあります。ホバー状態と押された状態で長方形の色を変更したい。これらの色もパラメータにしたいと思います。

これを達成するための最良の方法は何ですか?

  1. Buttonサブクラスを作成しようとしましたが、どういうわけかVisualStateManagerの依存関係プロパティにアクセスできませんでした
  2. コードビハインドで何かを書き込もうとしましたが、クリックコマンドをViewModelクラスに委任する方法がわかりませんでした。

誰かが私に小さな実用的な例を教えてもらえますか?

ありがとう

4

2 に答える 2

4

これは、スタイルテンプレートを使用して行うことができます。

Visual Studioデザイナで、ボタンを右クリックし、を選択Edit Templateしてからを選択しますEdit a Copy...

ボタンテンプレート編集

次に、新しいスタイルに名前を付け、それを保存するファイルに名前を付けるように求められます。今のところは、などの一意の名前を付けてMyButtonStyle、現在のファイルを選択します。

スタイル作成ポップアップ

次に、Visual Studioはスタイルのコピーを現在のxamlドキュメントに追加し、新しいスタイルを使用するようにボタンを更新します。

<Button x:Name="Download" Style="{StaticResource MyButtonStyle}"></Button>

この後、ホバーやクリックなどのさまざまな視覚的状態の色を変更するなど、新しいスタイルを更新できます。

その後、同じドキュメント内の他のボタンで新しいスタイルの使用に進むことができます。複数のxamlドキュメントでスタイルを使用するには、共通のリソースファイルにスタイルを引き出す必要があります。

于 2012-12-30T02:52:35.967 に答える
0

したがって、カスタムプロパティを使用してボタンを調整する必要があります。これは、カスタムコントロールを使用する良い機会です。必要な依存関係プロパティを作成し、コード内のレイアウトを調整できます。 http://timheuer.com/blog/archive/2012/03/07/creating-custom-controls-for-metro-style-apps.aspx

于 2012-12-30T22:38:07.570 に答える