2011-09-08 67 views
0

我在代碼中綁定綁定(不在XAML中)。查找數據綁定在代碼中是否失敗?

有什麼方法可以確定綁定路徑是否有效?顯而易見的候選者是IsDataBound屬性,但即使路徑錯誤,也總是如此。

目前我通過提供回退值和測試來欺騙它,但有沒有更好的方法?

回答

1

如果您不介意將項目升級到Silverlight 5,請查看Silverlight 5 RC。使用SL5調試數據綁定變得輕而易舉,因爲它使您能夠在發生綁定的XAML代碼中設置斷點。

查看這個article瞭解全部工作原理。

+0

我已經標記爲答案,因爲雖然文章沒有直接回答我的問題,但它給了我足夠的線索來找到答案,即:if(GetBindingExpression(MyDependencyProperty).Status!= BindingStatus.Active)MessageBox。顯示(「BINDING FAILED」); – GazTheDestroyer

1

Visual Studio的輸出窗口是一個很好的開始的地方,關於調試綁定的更深入的指導請參閱this MSDN article

+0

對不起,我的意思是在運行時,所以我可以對它做出反應,而不是在調試場景中。 – GazTheDestroyer

+0

@GazTheDestroyer:一個通常會在運行時進行調試(請閱讀文章),或者您'*'由'runtime'指的是什麼? –

1

我想你可以使用ValueConverter,你可以很容易地在代碼中添加到你的綁定中,並且可以讓你評估源和目標屬性之間的關係。