我有一个包含C#WPF应用程序中的一组图像的ListBox。当图像进入图像区域时,即在MouseEnter事件上,我希望图像增长大约10%。这是为了通知用户鼠标指针现在位于新的“可点击”图像上。有谁知道我怎么能做到这一点?
提前Thanx!
答案 0 :(得分:13)
我只能粗略地描绘它,但这可以通过IsMouseOverProperty上的触发器来实现,该触发器改变ScaleX&已经放置在元素上的ScaleTransform的Y属性。
修改强>: 看看克里斯的帖子,这可以起作用:
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
答案 1 :(得分:3)
Learn WPF上的这篇文章展示了如何在鼠标上添加发光效果:
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BitmapEffect">
<Setter.Value>
<OuterGlowBitmapEffect GlowColor="Red" GlowSize="4"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
只需用“ScaleTransform”替换“BitmapEffect”设置器就可以了。 Ryan Cromwell's blog上的这篇文章展示了如何在按钮点击上执行此操作。它演示了重要的一点,即将渲染变换中心设置为图像的中心,以便缩放在所有方向上均匀,而不仅仅是从左上角开始。
答案 2 :(得分:0)
注册这两个事件:
private void image1_MouseEnter(object sender, MouseEventArgs e)
{
Image img = ((Image)sender);
img.Height = img.ActualHeight * 1.1;
}
private void image1_MouseLeave(object sender, MouseEventArgs e)
{
Image img = ((Image)sender);
img.Height /= 1.1;
}