2013-07-05 40 views
0

我的使用Microsoft Expression Blend的行爲有問題。我不知道如何在Expression Blend或Visual Studio中獲取OnAttached事件。它不會着火。下面是一個例子:DesignMode中的WPF行爲事件

public class MyBehavior : Behavior<Path> 
{ 
    public PathNavigation() 
    { 

    } 

    protected override void OnAttached() 
    { 
     // Only firing in runtime 
     base.OnAttached(); 
     AssociatedObject.Loaded += AssociatedObject_Loaded; 
    } 

    private void AssociatedObject_Loaded(object sender, System.Windows.RoutedEventArgs e) 
    { 
     // Only firing in runtime 
    } 
} 

在Blend中設計時是否有可能獲得該事件? 在此先感謝。 Chris

回答

1

是否有可能在設計時AssociatedObject.IsLoaded == true?你可以在附加你的事件處理程序之前檢查它,並調用一個通用的OnLoaded方法。

+0

我不知道,但即使它是真的......爲什麼我不能得到OnAttached事件? – chris6523

+1

對不起,我明顯有一個閱讀理解問題。顯然,行爲在設計期間並未附加。所以,這個方法不會被調用。這個問題有一個關於它的討論:http://stackoverflow.com/questions/10154023/silverlight-blend-behaviors-do-not-get-attached-at-design-time –

+0

好thx爲那:) – chris6523