2009-11-05 45 views
1

我有一個ListBox包含一組C#WPF應用程序中的圖像。當圖像進入圖像區域時,即在MouseEnter事件中,我希望圖像增長約10%。這是爲了通知用戶鼠標指針現在在新的「可點擊」圖像上。有誰知道我能做到這一點?如何讓圖像在wpf中的mouseover事件上增長x%?

Thanx提前!

回答

-1

註冊這兩個事件:

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; 
} 
+0

謝謝!它做到了! – 2009-11-05 22:17:10

+3

你看這是答案嗎?這實際上並不是你如何在WPF中繼續這樣做的,但無論如何... – flq 2009-11-05 22:36:30

+2

你應該在你的XAML中使用觸發器,而不是附加到像這樣的事件上。 – 2010-03-03 19:50:38

10

我只能勾畫它非常粗糙,但可以通過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> 
+0

我想添加''使它從'Button'的中心增長。 – itsho 2017-09-28 15:03:48

1

這個職位上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上的這篇文章展示瞭如何在點擊按鈕上做到這一點。它演示了將渲染變換中心設置爲圖像中心的重要一點,以便縮放在所有方向上均勻,而不僅僅是從左上角。