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
C# 在“上设置一些属性”;ismouseover“;_C#_Wpf - Fatal编程技术网

C# 在“上设置一些属性”;ismouseover“;

C# 在“上设置一些属性”;ismouseover“;,c#,wpf,C#,Wpf,我们试图设置一些按钮的属性,如果鼠标在按钮上。 奇怪的是,它只适用于某些属性 我们创建了一个空白WPF应用程序,并简单地添加了以下代码行: <Button Content="{Binding IsMouseOver, RelativeSource={RelativeSource Self},Mode=OneWay}"> <Button.Style> <Style TargetType="Button"> <

我们试图设置一些按钮的属性,如果鼠标在按钮上。 奇怪的是,它只适用于某些属性

我们创建了一个空白WPF应用程序,并简单地添加了以下代码行:

<Button Content="{Binding IsMouseOver, RelativeSource={RelativeSource Self},Mode=OneWay}">
    <Button.Style>
        <Style TargetType="Button">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="True">
                    <Setter Property="Foreground" Value="Red" />
                    <Setter Property="Background" Value="Yellow" />
                    <Setter Property="BorderThickness" Value="5"></Setter>
                    <Setter Property="BorderBrush" Value="BurlyWood"></Setter>
                </DataTrigger>
                <DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="False">
                <Setter Property="Foreground" Value="Green" />
                <Setter Property="Background" Value="BlueViolet" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>            
</Button>

“假”触发器的工作原理就像一个咒语。 “True”触发器仅设置边界厚度和前景。 背景和边框笔刷将被忽略


有人能告诉我如何解决这个问题吗???

这是按钮的默认行为,以便更改并定义自己的按钮模板请参见


<Button Content="{Binding IsMouseOver, RelativeSource={RelativeSource Self},Mode=OneWay}">
        <Button.Style>
            <Style TargetType="Button">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Button">
                            <Border Background="{TemplateBinding Background}"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    >                                     
                                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="True">
                        <Setter Property="Foreground" Value="Red" />
                        <Setter Property="Background" Value="Yellow" />
                        <Setter Property="BorderThickness" Value="5"></Setter>
                        <Setter Property="BorderBrush" Value="BurlyWood"></Setter>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="False">
                        <Setter Property="Foreground" Value="Green" />
                        <Setter Property="Background" Value="BlueViolet" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>