Wpf MultiTrigger只执行一次

Wpf MultiTrigger只执行一次,wpf,triggers,styles,conditional-statements,multitrigger,Wpf,Triggers,Styles,Conditional Statements,Multitrigger,我的按钮应该在鼠标经过一定次数后改变颜色,但是多重绑定不能正常工作 我的应用程序中的按钮具有以下样式: <Style TargetType="Button"> <EventSetter Event="MouseEnter" Handler="OnMouseEnterButton"/> <Style.Triggers> <MultiTrigger> <

我的按钮应该在鼠标经过一定次数后改变颜色,但是多重绑定不能正常工作

我的应用程序中的按钮具有以下样式:

    <Style TargetType="Button">
        <EventSetter Event="MouseEnter" Handler="OnMouseEnterButton"/>
        <Style.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="Content" Value="0"/>
                    <Condition Property="IsMouseOver" Value="False"/>
                </MultiTrigger.Conditions>

                <MultiTrigger.Setters>
                    <Setter Property="Background" Value="Green"/>
                </MultiTrigger.Setters>
            </MultiTrigger>
        </Style.Triggers>
   </Style>

但是,如果Button.Content条件的值与初始值不同。例如:
触发器停止工作。

问题是您正在将
系统.Int32
值(在代码中设置)与
系统.String
值(在条件中定义)进行比较

有两种方法可以解决此问题:

1) 将样式条件更改为:

    <Condition Property="Content">
        <Condition.Value>
            <sys:Int32>10</sys:Int32>
        </Condition.Value>
    </Condition>

谢谢是的,我没有运动,我不转换回字符串!
private void OnMouseEnterButton(object sender, RoutedEventArgs e)
{
    ((Button)sender).Content = (int.Parse(((Button)sender).Content.ToString())) + 1;
}
    <Condition Property="Content">
        <Condition.Value>
            <sys:Int32>10</sys:Int32>
        </Condition.Value>
    </Condition>
((Button)sender).Content = ((int.Parse(((Button)sender).Content.ToString())) + 1).ToString();