WPF Button Mouseover Image

Я учусь C # и XAML для создания приложений Windows. Я хотел создать кнопку с фоновым изображением. Но при наведении курсора на кнопку фон кнопки должен измениться на другой «выделенный». образ. Я попытался добавить фоновые изображения в Resources.resx. Мне пришлось создать пользовательскую кнопку, используя стили xaml, чтобы избавиться от эффекта подсветки по умолчанию для кнопки wpf.

Я создал пользовательскую кнопку из кода, который нашел на SO. Код (в новом словаре ресурсов):

    <!-- This style is used for buttons, to remove the WPF default 'animated' mouse over effect -->
    <Style x:Key="StartMenuButtons" TargetType="Button">
        <Setter Property="OverridesDefaultStyle" Value="True"/>
        <Setter Property="Margin" Value="5"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border Name="border" 
                        BorderThickness="0" 
                        Background="{TemplateBinding Background}">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">


                        <!-- UPDATE THE BUTTON BACKGROUND -->
                        <Setter Property="Background" Value="WHAT GOES HERE"  TargetName="border"/>


                    </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

Что мне поставить, чтобы фон изменился на другое изображение, находится ли оно в моем resources.resx или в другом месте? (Не уверен, где поставить изображение для доступа к нему). Я искал SO, но решения, которые я нашел, были не совсем то, с чем я имею дело. Если это дублирующий вопрос, я прошу прощения.

Summary:

Как изменить фоновое изображение кнопки при наведении мыши на триггер в XAML? Куда мне поместить изображение, чтобы оно было доступно в коде триггера?

Update Это то, что я поставил в качестве триггера, но изображение не обновляется. Я удостоверился, что установил действие по созданию образа для ресурса и поместил его в папку с именемResources.

Код является:

<ControlTemplate.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
        <Setter Property="Background">
          <Setter.Value>
             <ImageBrush ImageSource="/Simon;component/Resources/btn_bg_hover.jpg" />
          </Setter.Value>
        </Setter>
     </Trigger>

Структура файла

Simon
    Simon
        Resources
            all the images
        Fonts
        bin
        obj
        Properties

Solution

Ниже приведен полный код, позволяющий изменить изображение при наведении курсора на кнопку:

<!-- This style is used for buttons, to remove the WPF default 'animated' mouse over effect -->
    <Style x:Key="StartMenuButtons" TargetType="Button">
        <Setter Property="OverridesDefaultStyle" Value="True"/>
        <Setter Property="Margin" Value="5"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border Name="border" 
                        BorderThickness="0" 
                        Background="{TemplateBinding Background}">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Background" TargetName="border">
                            <Setter.Value>
                                <ImageBrush ImageSource="Resources/btn_bg_hover.jpg" />
                            </Setter.Value>
                        </Setter>

                    </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

Для реального изображения я поместил его вResources папка, которая находится в корневом каталоге. После импорта изображений с помощью инструмента ресурсов в Visual Studio я обновил изображениеbuild settings вResource в панели свойств.

Thanks for the solution dbaseman

Ответы на вопрос(2)

Ваш ответ на вопрос