0
<Button Margin="10,0,2,0" Width="90" Command="Open">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Content" Value="{Binding Source={StaticResource tstImage}}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Content" Value="{Binding Source={StaticResource tstImage1}}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Content" Value="{Binding Source={StaticResource tstImage2}}"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
我想创建一个按钮支持热图像:当鼠标悬停在按钮上,图像更改为另一个。 我使用上面的代码实现了一个按钮实例。但实际上我想创建一个模板,每个按钮都可以使用这种风格。为每个按钮编写相同的样式非常麻烦。WPF按钮与热图像
我觉得应该想:
<Style TargetType="Button">
<Setter Property="Content" Value="{Binding Source= normalImage"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Content" Value="{Binding Source=hotImage"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Content" Value="{Binding Source=disableImage"/>
</Trigger>
</Style.Triggers>
</Style>
再使用的样式,如:
<Button command="Open" normalImage="icon1.png" hotImage="icon2.png" disableImage="icon3.png"/>
我是一个新鲜到WPF,我已经尝试了许多方法可以做到这一点,但仍然停留在这个问题。 我想创建一个可应用于每个按钮的模板或样式。第二和第三个片段是我想要达到的。但它不起作用。在第二个片段中,normalImage,hotImage和disableImage是动态路径,可以通过按钮指定,就像我在第三个片段中所写的一样。 请帮忙。谢谢。
我试图使用附加属性,但我遇到了另一个问题: Style binding attached-property didn't show up anything
请澄清,你有什么问题吗?有错误吗?它不编译等。 – Sami
我想创建一个可应用于每个按钮的模板或样式。第二和第三个片段是我想要达到的。但它不起作用。在第二个片段中,normalImage是一个动态路径,可以通过按钮指定,就像我在第三个片段中所写的那样。我不想要一条固定的路径。 – DIZHONG