2013-02-28 77 views
6

我做了一個拖動操作,並且想要在ismouseover屬性爲true時觸發圖像元素來更改其源。 現在我意識到,當拖動&拖放操作時,ismouseover屬性不會更新。WPF在IsMouseOver上爲DragDrop操作觸發

有沒有其他的方法來改變鼠標懸停時的圖像源,而拖動&降是活動的?

回答

3

我有同樣的問題,並最終在我的自定義控件中創建一個新的布爾值,稱爲IsDragMouseOver,並在我的控件模板中引用該布爾值。

在控制背後的代碼,我增加了以下內容:

protected override void OnDragEnter(DragEventArgs e) 
    { 
     base.OnDragEnter(e); 
     IsDragMouseOver = true; 
    } 

    protected override void OnDragLeave(DragEventArgs e) 
    { 
     base.OnDragLeave(e); 
     IsDragMouseOver = false; 
    } 

    protected override void OnDragOver(DragEventArgs e) 
    { 
     base.OnDragOver(e); 
     IsDragMouseOver = true; 
    } 

    protected override void OnDrop(DragEventArgs e) 
    { 
     base.OnDrop(e); 
     IsDragMouseOver = false; 
    } 

希望有所幫助。