Wpf ImageButtons?
-
05-07-2019 - |
質問
多くのボタンを持つWPFアプリケーションを作成しました。
今、顧客はすべてのボタンをアイコンに変更したいと考えています。 例えば: すべての[OK]ボタンには同じアイコン、すべてのキャンセルbtnsなどがあります。
すべてのボタンStyle =" {StaticResource ButtonStyle_OK}"、Style =" {StaticResource ButtonStyle_OK}"を入れたいなど。
今、私の質問は一般にこれらのスタイルで何を配置する必要があるかです
<Style x:Key="ButtonStyle_OK" TargetType="Button">
<!-- What comes here? -->
</Style>
アプリケーションのすべてのボタンをImageに変更し、クリックにMouseDownイベントを使用するのは愚かなことでしょうか?
注: 私はボタンを画像にしたいです-画像を含むボタンではなく(つまり、元のボタンフレームは必要ありません)、形状について話します。 これらのボタン/スタイルを再利用可能にしたい。
解決
スタイリングに関するこのMSDN記事をご覧ください- http:// msdn .microsoft.com / en-us / library / ms745683.aspx
ControlTemplateセクションを読むことで牽引力を得ることができると思います。
また、Chrisが述べたように、スタイルをリソースディクショナリに入力し、キーを省略することですべてのボタンに対してグローバルに適用できます。
UPDATE:クリックイベントで画像を使用する必要はありません。ControlTemplateを使用すると、ボタンの外観をより正確に定義できます。
別の例- http://mrpmorris.blogspot。 com / 2008/04 / wpf-custom-button-templates.html
他のヒント
それらをリソースディクショナリに入れれば、辞書を入れ替えてスタイルを変更したり、ボタンのUI側などと関係することをしたりできます。
タグにコントロールテンプレートが必要だと思っています。次のようなものです。
<Setter TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
</ControlTemplate>
</Setter.Value>
<Setter Property="Template">
</Setter>
デフォルトのテンプレートオンライン(MSDN)を比較的簡単に見つけることができるはずです。 Blendを使用してこれを行うことをお勧めします(可能な場合)。