我对Xaml很新,但我一直在利用WPF。出于这个原因,我已经制作了以下方法,我用它来改变标签或按钮的图像,我想要实现鼠标悬停或鼠标离开事件。
public void SImpleImageHadler(dynamic thing, String Path) {
ImageBrush IB = new ImageBrush();
IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/" + Path, UriKind.Absolute));
thing.Background = IB;
}
我想知道如何使用xaml完全实现这一点,这样我就不必为每个UI元素制作很多事件处理程序。
答案 0 :(得分:3)
在按钮的样式触发器中,您可以使用此类代码来更改属性。要查看特定于图片的示例,请查看this问题。
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Blue" />
</Trigger>
</Style.Triggers>
来自this的回答是图片示例:
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="/MyProjectName;component/Images/MyImage.jpg" />
</Setter.Value>
</Setter>
</Trigger>
答案 1 :(得分:0)
如果要为许多不同类型的按钮/标签封装此类内容,您应该查看附加属性。
最终结果应如下所示:
<Button
ns2:MouseOverBackgroundChanger="YourURL"
/>
<Label
ns2:MouseOverBackgroundChanger="YourUrl2"
/>
此网站包含您需要的一切:http://msdn.microsoft.com/en-us/library/ms749011(v=vs.110).aspx(附加属性概述)