1

我在我的应用程序中创建了一个带有图像的按钮:

                <Button x:Name="favoriteButton" HorizontalAlignment="Left" VerticalAlignment="Top" Height="72" Width="99" Click="DidPressAddToFavorites" BorderBrush="{x:Null}" Foreground="{x:Null}">
                    <Button.Background>
                        <ImageBrush ImageSource="/Images/favouritesBWIcon@2x.png" Stretch="Uniform"/>
                    </Button.Background>
                </Button>

我注意到,当用户按下按钮时,所有按钮都变成蓝色,当我释放按钮时,我又看到了它。知道如何解决吗?

编辑:

这是处理程序方法:

private void DidPressAddToFavorites(object sender, RoutedEventArgs e)
    {
        if (favoriteRep.ExistInFavorites(currentItem) == true)
        {
            this.SetButtonWithImage(favoriteButton, "/Images/favouritesBWIcon@2x.png");
            favoriteRep.RemoveFromFavorites(currentItem);
        }
        else
        {
            this.SetButtonWithImage(favoriteButton, "/Images/favouritesIcon@2x.png");
            favoriteRep.AddToFavorites(currentItem);
        }

    }
4

1 回答 1

1

因为您没有添加状态,所以有三种状态 Normal、MouseOver、Pressed... 您必须为所有三种状态设置图像,以使其按您的意愿工作。这里是这样做的替代方法,不知道 c# 有什么更好的方法,你所要做的就是再添加两个 eventHndlers 鼠标悬停事件和按下事件,然后在它们中设置图像......好吧这样做的另一种好方法是尝试使用 blend Software 进行模板编辑

于 2013-02-14T06:47:36.433 回答