在EventTrigger实现中,Windows 10和Windows 7上的行为不一致

时间:2016-11-24 04:23:16

标签: wpf windows eventtrigger

我目前正在按钮上实现一个小的UI调整。当我拖动一个要放在按钮上的对象时,我希望当鼠标悬停在按钮上时按钮的背景是相同的(没有拖动对象)。

到目前为止,我能够使用EventTriggers使其工作。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication1"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button AllowDrop="True" Width="100" Height="100">
            <Button.Style>
            <Style TargetType="Button">
                <Style.Resources>
                    <Color x:Key="ButtonDefaultBackgroundColor">#FFDDDDDD</Color>
                    <Color x:Key="ButtonDefaultBackgroundMouseOverColor">#FFBEE6FD</Color>
                </Style.Resources>
                <Style.Triggers>
                        <EventTrigger RoutedEvent="DragEnter">
                            <BeginStoryboard>
                                <Storyboard TargetProperty="Background.Color">
                                    <ColorAnimation Duration="0:0:0" To="{StaticResource ButtonDefaultBackgroundMouseOverColor}" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                        <EventTrigger RoutedEvent="DragLeave">
                            <BeginStoryboard>
                                <Storyboard TargetProperty="Background.Color">
                                    <ColorAnimation Duration="0:0:0" To="{StaticResource ButtonDefaultBackgroundColor}" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                        <EventTrigger RoutedEvent="Drop">
                            <BeginStoryboard>
                                <Storyboard TargetProperty="Background.Color">
                                    <ColorAnimation Duration="0:0:0" To="{StaticResource ButtonDefaultBackgroundColor}" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                    </Style.Triggers>
            </Style>
            </Button.Style>
        </Button>
    </Grid>
</Window>

在Windows 10中,行为与我预期的一样。但是,当我在Windows 7中测试时,情况并非如此。

您认为这是什么原因?解决方法?

修改 在Windows 7中,按钮的背景颜色不会改变。

0 个答案:

没有答案