我有一個Silverlight控件,我實例化,像這樣:如何訪問一個Silverlight控件的datacontext的代碼隱藏
<MyControls:SomeControl DataContext="{Binding}" />
在這個文件中的代碼隱藏,我怎麼可以訪問這個的datacontext ? this.DataContext等於null。
編輯(詳細信息):
我建立了一個現有的Silverlight應用程序的擴展。我的地步,我與應用程序整合看起來是這樣的:
<DataTemplate x:Key="AnImportantIdentifierUsedByTheHostApp">
<MyControls:SomeControl DataContext="{Binding}" />
</DataTemplate>
在我的控制,我能夠對屬性綁定像這樣:
<Hyperlink NavigateUri="{Binding Path=UriWithSlug}">
而這一切工作正常。然而,對於某些功能(特別是,我需要使用WebBrowser控件和NavigateToString()方法),我需要從DataContext訪問屬性。
基本上在代碼隱藏,我需要做一些事來的效果:
myWebBrowser.NavigateToString(DataContext.MyHTMLStringProperty);
感謝您發佈此信息。不要感到孤單,我犯了同樣的錯誤。現在,看起來顯而易見的是,該構造函數中的DataContext將爲空。 – 2011-08-05 10:18:25