0

我正在 XNA 和 XAML 中制作图片库。我需要有带边框的图像,鼠标悬停时我想更改边框颜色。我尝试了不同的东西,但没有奏效。当 IMAGE 被 mouseOvered 时,应该触发更改边框颜色的动画。这是我的代码:

 <Border Name="myBorder"
            BorderThickness="5"
            BorderBrush="White"
            Width="100"
            Height="100"
            Padding="0"
            Margin="15"
            CornerRadius="10">
        <Border.Style>
            <Style>
                <Style.Triggers>
                    <Trigger Property="Image.IsMouseOver" Value="True">
                        <Setter Property="Border.BorderBrush" Value="Yellow"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Border.Style>
            <Image Name="myImage1" 
                   HorizontalAlignment="Center" 
                   Stretch="Fill" />
    </Border>

我还成功地使用了 EventTrigger 和 Storyboard。有没有人知道如何做到这一点?

4

1 回答 1

1

好的,感谢这篇文章,我解决了问题

我应该从边框定义中删除 BorderBrush。现在这有效:

        <Border Name="myBorder"
            BorderThickness="5"
            Width="100"
            Height="100"
            Padding="0"
            Margin="15"
            CornerRadius="10">
        <Border.Style>
            <Style TargetType="{x:Type Border}">
                <Style.Triggers>
                    <Trigger Property="Image.IsMouseOver" Value="True">
                        <Setter Property="Border.BorderBrush" Value="Yellow"/>
                    </Trigger>
                    <Trigger Property="Image.IsMouseOver" Value="False">
                        <Setter Property="Border.BorderBrush" Value="White"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Border.Style>
        <Image Name="myImage1" HorizontalAlignment="Center" Stretch="Fill" />
    </Border>
于 2012-09-26T13:16:04.113 回答