C# 如何在WPF中创建带有条件悬停图像的条件图像按钮

C# 如何在WPF中创建带有条件悬停图像的条件图像按钮,c#,wpf,styles,imagebutton,C#,Wpf,Styles,Imagebutton,我正在尝试创建一个图像按钮,根据条件显示不同的图像。另外,我需要另一个条件,悬停在上面会显示另一个图像 例如,datagrid行(单元格)中的按钮在错误条件下显示灰色十字,在鼠标悬停时显示红色十字。如果初始条件为真,则显示灰色勾号,鼠标悬停时显示绿色勾号。初始条件来自行的绑定元素 到目前为止,我没有任何工作!忽略下例中图像的路径位置 在您的边框中添加所需的模板绑定,如果您有多个绑定条件,您必须使用多数据触发器s: <ControlTemplate TargetType="Button"&g

我正在尝试创建一个图像按钮,根据条件显示不同的图像。另外,我需要另一个条件,悬停在上面会显示另一个图像

例如,datagrid行(单元格)中的按钮在错误条件下显示灰色十字,在鼠标悬停时显示红色十字。如果初始条件为真,则显示灰色勾号,鼠标悬停时显示绿色勾号。初始条件来自行的绑定元素

到目前为止,我没有任何工作!忽略下例中图像的路径位置


在您的
边框中
添加所需的模板绑定,如果您有多个绑定条件,您必须使用
多数据触发器
s:

<ControlTemplate TargetType="Button">
    <Border Name="border" BorderThickness="0" Background="{TemplateBinding Background}">
        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Width="15" Height="15" />
    </Border>
    <ControlTemplate.Triggers>
        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Binding="{TemplateBinding IsMouseOver}" Value="false"/>
                <Condition Binding="{Binding InitialCondition}" Value="false"/>
            </MultiDataTrigger.Conditions>

            <Setter Property="Background">
                <Setter.Value>
                    <ImageBrush ImageSource="GreyCross.png" />
                </Setter.Value>
            </Setter>
        </MultiDataTrigger>
        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Binding="{TemplateBinding IsMouseOver}" Value="true"/>
                <Condition Binding="{Binding InitialCondition}" Value="false"/>
            </MultiDataTrigger.Conditions>

            <Setter Property="Background">
                <Setter.Value>
                    <ImageBrush ImageSource="RedCross.png" />
                </Setter.Value>
            </Setter>
        </MultiDataTrigger>
        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Binding="{TemplateBinding IsMouseOver}" Value="false"/>
                <Condition Binding="{Binding InitialCondition}" Value="true"/>
            </MultiDataTrigger.Conditions>

            <Setter Property="Background">
                <Setter.Value>
                    <ImageBrush ImageSource="GreyTick.png" />
                </Setter.Value>
            </Setter>
        </MultiDataTrigger>
        <MultiDataTrigger>
            <MultiDataTrigger.Conditions>
                <Condition Binding="{TemplateBinding IsMouseOver}" Value="true"/>
                <Condition Binding="{Binding InitialCondition}" Value="true"/>
            </MultiDataTrigger.Conditions>

            <Setter Property="Background">
                <Setter.Value>
                    <ImageBrush ImageSource="GreenTick.png" />
                </Setter.Value>
            </Setter>
        </MultiDataTrigger>
    </ControlTemplate.Triggers>
</ControlTemplate>


您的附加条件是什么?我只看到我的情况结束了。按钮的内容是什么?条件将来自该数据网格行的绑定。我不知道从哪里开始!明白了,谢谢。虽然我无法获得模板绑定,但它仍然无法正常工作。我把它换成了