2010-04-28 29 views
3
的一部分

我嘗試混合4測試版,並尋找一種方式做一個簡單的事情:混合4測試版:如何改變圖像源作爲時間軸

  • 當鼠標在圖像上徘徊, 圖像應該將其來源更改爲不同的圖像。 當MouseLeave發生時,圖像變回。

知道我能做到這一點的源代碼,但是我正在尋找一個代碼免費的方式做到這一點,而無需手動編碼XAML。

Blend 4看起來非常適合。但我試圖使用事件觸發器來設置它,這些事件觸發器可以啓動故事,或者使用視覺狀態,但Blend似乎沒有「記住」圖像源已更改。它記得我改變圖像的其他屬性(如可見性,比例等),但圖像源是我所追求的。

這是一個混合錯誤,或者我做錯了什麼?

+0

爲什麼你不能只有2個圖像,並改變其中之一的可見性/不透明度? – 2010-04-28 15:08:46

+0

我有同樣的問題,但我只是手工編碼XAML。 :-( – 2010-04-28 15:22:16

回答

2

一個選項是創建自定義操作並將其附加到圖像。它仍然涉及代碼,但有點融合。

public class ImageSwitchAction : TriggerAction<Image> 
{ 
    public ImageSource TargetImage { get; set; } 
    protected override void Invoke(object o) 
    { 
     AssociatedObject.Source = TargetImage; 
    } 
} 

添加類到您的項目和建築後,你可以將新的行爲在時間線上的任何圖像對象,並配置在操作屬性的觸發和ImageSource的。在你的情況下,爲MouseEnter添加一個動作,爲MouseLeave添加一個。

+3

現在我想到了,內置的ChangePropertyAction可以做同樣的事情,將它添加到圖像中,設置觸發器,選擇TargetObject(圖像),選擇PropertyName Source,然後設置它的目標值 – Tosh 2010-04-28 17:23:01

+0

可以通過混合來完成嗎? – RoyOsherove 2010-04-28 19:31:54

+0

我檢查過了,它可以在Blend中完成。 – RoyOsherove 2010-04-28 19:39:09

-2

簡單的方法:

第一,訂閱您的圖像鼠標的事件進入和鼠標離開則在此事件

使用image.setsource(新的URI(新圖像URL))來設置圖像源每個事件

如果u有麻煩,我可以張貼實際的代碼在這裏後者

問候 銳

+1

問題是關於如何做到這一點而不求助於代碼 – 2010-04-28 15:26:48