Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置按钮';在WPF中选择的颜色和焦点_Wpf_Button_Triggers - Fatal编程技术网

设置按钮';在WPF中选择的颜色和焦点

设置按钮';在WPF中选择的颜色和焦点,wpf,button,triggers,Wpf,Button,Triggers,我有一个按钮,有一个透明的背景和厚厚的白色边框。当按钮检测到鼠标进入时,我看到背景从设置的透明背景变为默认的聚焦颜色,因此我只需将不透明度设置为0.2,以便它显示一些反馈,表明它有焦点 现在是我的困境。当我离开按钮的边界时,会出现一个小动画,在将背景更改为原始透明之前,它的不透明度从.2变为1。我想知道如何将其替换为更平滑的动画,以便在变为透明之前看不到不透明的背景,或者只是有一种方法完全绕过动画,让它设置我的值。当按钮聚焦时,我看到类似的事情发生。它将使用默认背景色在0.2不透明度和1.0之间

我有一个按钮,有一个透明的背景和厚厚的白色边框。当按钮检测到鼠标进入时,我看到背景从设置的透明背景变为默认的聚焦颜色,因此我只需将不透明度设置为0.2,以便它显示一些反馈,表明它有焦点

现在是我的困境。当我离开按钮的边界时,会出现一个小动画,在将背景更改为原始透明之前,它的不透明度从.2变为1。我想知道如何将其替换为更平滑的动画,以便在变为透明之前看不到不透明的背景,或者只是有一种方法完全绕过动画,让它设置我的值。当按钮聚焦时,我看到类似的事情发生。它将使用默认背景色在0.2不透明度和1.0之间设置动画。任何想法都将不胜感激

<Button BorderBrush="White" BorderThickness="1" Width="45" Height="45" >
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Opacity" Value="0.2" />
                </Trigger>
                <Trigger Property="IsMouseOver" Value="False">
                    <Setter Property="Background" Value="Transparent" />
                    <Setter Property="Opacity" Value="1.0" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

这是一个仅适用于XAML的解决方案,我认为这符合您的要求

<Button BorderBrush="White" BorderThickness="1" Width="45" Height="45" Content="1234" >
        <Button.Style>
            <Style TargetType="{x:Type Button}">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="False">
                        <Setter Property="Background" Value="Transparent" />
                        <Setter Property="Opacity" Value="1.0" />
                    </Trigger>
                    <EventTrigger RoutedEvent="MouseLeave">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1"></DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                    <EventTrigger RoutedEvent="MouseEnter">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="0.2"></DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>

这真是奇迹。我只需要弄清楚,如果选择了按钮,该怎么做。另一方面,它只是脉冲。