質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

2回答

7007閲覧

wpfでマウスホバー時の画像切り替え

zumizumi

総合スコア13

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2018/11/14 14:49

編集2018/11/15 11:47

wpfでマウスオーバーしたさいに画像が切り替わるようにしたいのですが方法がわかりません。
色を変えることは出来ますが、マウスオーバー時に画像ごと切り替えて行いたいのですが方法がわかりません。

xmal

1<Grid> 2 <ToolbarPanel DockPanel.dock="Top"> 3 <Toolbar> 4 <ToggleButton content="ぼたん" name="toggleButton2" /> 5 </Toolbar> 6 </ToolbarPanel> 7 <ToggleButton content="ぼたん" name="toggleButton1" height="23" width="90" horizontalalignment="Left" margin="79,43,0,0" verticalalignment="Top" /> 8</Grid>

どなたか、上記のToggleButtonにマウスホバーした際に画像を差し替える事は可能でしょうか?
ご教授よろしくお願いいたします。

追加

わかりにくくて申し訳ございません。

wpfで簡単なツールを作成しており、
wpf上のトグルボタンにマウスオーバーや押下時の画像を用意して
アクションごとに画像が切り替わるようにしたいです。
以前の質問で、画像を挿入する事は
Image brushを使用して画像の置換えには成功したのですが、
https://teratail.com/questions/158161

コレだと該当のスイッチを押した時反応がなく動作しているかわかりません。
そこで、ボタンを押しているときに画像を切り替えようtしたのですが上手くいきませんでした。

参考として、
http://daria-sieben.hatenablog.com/entry/2016/09/25/104707
個々とかをみたのですがいまいちわからず困っております。
どうかヒント、もしくは解決方法をご教授よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gaya-K

2018/11/15 10:02

ツールチップの事ではないですよね? 画像差し替えと言いっても差し替える元の画像が見当たらないので、やりたいことがイメージできない状態です。
zumizumi

2018/11/15 11:48

わかりにくくて申し訳ございません。修正をしましたので、ご確認の程よろしくお願いいたします。
Gurz1019_MP

2018/11/16 15:56

ボタンのコンテンツを画像にしたいのですか? それともボタンの背景を画像にしたいのですか?
guest

回答2

0

ベストアンサー

xaml

1<Window x:Class="ToggleButtonSample.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:ToggleButtonSample" 7 mc:Ignorable="d" 8 Title="MainWindow" Height="450" Width="800"> 9 <Grid> 10 <ToggleButton Name="ToggluButtonSample" 11 Height="16" 12 MaxWidth="250" 13 Margin="15,6,30,1" 14 VerticalAlignment="Top" 15 Background="Transparent" 16 Cursor="Hand" 17 Visibility="Visible"> 18 <ToggleButton.Template> 19 <ControlTemplate TargetType="ToggleButton"> 20 <Image Name="image" Source="Resources/img1.png" Stretch="None" /> 21 <ControlTemplate.Triggers> 22 <MultiTrigger> 23 <MultiTrigger.Conditions> 24 <Condition Property="IsMouseOver" Value="True"/> 25 </MultiTrigger.Conditions> 26 <Setter TargetName="image" Property="Source" Value="Resources/img2.png"/> 27 </MultiTrigger> 28 </ControlTemplate.Triggers> 29 </ControlTemplate> 30 </ToggleButton.Template> 31 </ToggleButton> 32 </Grid> 33</Window> 34 35
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace ToggleButtonSample { /// <summary> /// MainWindow.xaml の相互作用ロジック /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } } }

img1
img2

動かし方:
ツールバー → デバッグ → XXXXのプロパティ → リソース に赤い画像と青い画像を
ドラッグ&ドロップ(画像保存時に赤い画像にimg1, 青い画像にimg2と名前をつける)

ソリューションエクスプローラーに Resources フォルダが追加されるので、中にある画像ファイルをクリック

ビルドアクション に コンテンツ 、 出力ディレクトリ に 常にコピーする を設定してコンパイル

マウスオーバーで赤い画像と青い画像が切り替わるはず

参考:
ToggleButtonに画像を設定したときの参考
how to make a image button that change the image when mouse over button WPF?

マウスオーバー時に画像を切り替えたときの参考
Toggle button with conditional mouse over effect

投稿2018/11/16 16:01

編集2018/11/16 16:12
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zumizumi

2018/11/17 04:43

ご回答ありがとうございます。 動きが期待どうりになりました。
guest

0

xaml

1<Trigger Property="IsMouseOver" Value="True">

を使用するところまではわかったのですが、
複数のボタンの画像を使用する場合はマウスオーバー時に設定を行えば良いと思いますが、
画像の参照がわかりません。

投稿2018/11/15 03:16

zumizumi

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問