Cambiar la imagen del botón al pasar el mouse o hacer clic

¿Cómo cambio la imagen de fondo de un botón al mover el mouse y al hacer clic? La interfaz de usuario de Visual Studio no parece proporcionar ninguna forma fácil de hacerlo. Actualmente, el comportamiento predeterminado parece reemplazar mi imagen con un color sólido, que se ve horrible.

Todo lo que tengo hasta ahora es la base del botón:

<code>    <Button Content="" Height="75" VerticalAlignment="Center" Width="75" HorizontalAlignment="Center" ClickMode="Press">
        <Button.Background>
            <ImageBrush ImageSource="../data/images/icons/skill_icon_0.png"/>
        </Button.Background>
    </Button>
</code>

Intenté manejar eventos y configurarlo manualmente, pero no funciona para Prensado / Lanzamiento:

<code>        Button skillButton = new Button();
        skillButton.Width = 75;
        skillButton.Height = 75;
        skillButton.ClickMode = ClickMode.Press;
        skillButton.Background = GetIconImage(iconIndex, 0);
        skillButton.PointerEntered += 
            (object sender, Windows.UI.Xaml.Input.PointerEventArgs e) => {
                skillButton.Background = GetIconImage(iconIndex, 1);
            };
        skillButton.PointerExited +=
            (object sender, Windows.UI.Xaml.Input.PointerEventArgs e) => {
                skillButton.Background = GetIconImage(iconIndex, 0);
            };
        skillButton.PointerPressed +=
            (object sender, Windows.UI.Xaml.Input.PointerEventArgs e) => {
                skillButton.Background = GetIconImage(iconIndex, 2);
            };
        skillButton.PointerReleased +=
            (object sender, Windows.UI.Xaml.Input.PointerEventArgs e) => {
                if (skillButton.FocusState == FocusState.Pointer)
                    skillButton.Background = GetIconImage(iconIndex, 1);
                else skillButton.Background = GetIconImage(iconIndex, 0);
            };
</code>

Respuestas a la pregunta(6)

Su respuesta a la pregunta