我有一個ListBox包含一組C#WPF應用程序中的圖像。當圖像進入圖像區域時,即在MouseEnter事件中,我希望圖像增長約10%。這是爲了通知用戶鼠標指針現在在新的「可點擊」圖像上。有誰知道我能做到這一點?如何讓圖像在wpf中的mouseover事件上增長x%?
Thanx提前!
我有一個ListBox包含一組C#WPF應用程序中的圖像。當圖像進入圖像區域時,即在MouseEnter事件中,我希望圖像增長約10%。這是爲了通知用戶鼠標指針現在在新的「可點擊」圖像上。有誰知道我能做到這一點?如何讓圖像在wpf中的mouseover事件上增長x%?
Thanx提前!
註冊這兩個事件:
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;
}
我只能勾畫它非常粗糙,但可以通過IsMouseOverProperty上的觸發器來實現,該觸發器可以改變已經放置在元素上的ScaleTransform的ScaleX & 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>
我想添加'
這個職位上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>
只需將「BitmapEffect」設置器替換爲「ScaleTransform」設置器即可。 Ryan Cromwell's blog上的這篇文章展示瞭如何在點擊按鈕上做到這一點。它演示了將渲染變換中心設置爲圖像中心的重要一點,以便縮放在所有方向上均勻,而不僅僅是從左上角。
謝謝!它做到了! – 2009-11-05 22:17:10
你看這是答案嗎?這實際上並不是你如何在WPF中繼續這樣做的,但無論如何... – flq 2009-11-05 22:36:30
你應該在你的XAML中使用觸發器,而不是附加到像這樣的事件上。 – 2010-03-03 19:50:38