2009-05-04 165 views
2

請注意,這是一個相當基本的問題(我認爲)。在代碼隱藏中訪問DataContext

我有一個UserControl,名爲MyUserControl。我用它在一個DataTemplate我的列表框:

<l:MyUserControl DataContext="Test" /> 

現在我想的MyUserControl的代碼隱藏訪問此DataContext的,我期望的DataContext包含一個String對象的內容是「測試」。但是,DataContext爲null。我在這裏錯過了什麼?

回答

1

如果你想後面訪問代碼DataContext屬性,給用戶控件(或與此有關的任何控件)名稱:

在後面的代碼:

myControl.DataContext = someobject;

儘管在您的示例中將DataContext設置爲「Test」將不會執行任何操作。

閱讀上的數據在WPF結合 http://msdn.microsoft.com/en-us/library/aa480224.aspx

+0

它不應該是其他的方式?例如: var theDataContext =(SomeViewModelType)myControl.DataContext; 或者至少: var theDataContext = myControl.DataContext; op不想設置數據上下文,但要訪問它。 – Jelgab 2018-02-07 00:42:05

0

在MyUserControl的類中名爲DataContext需要一些字段或屬性。

請參閱here瞭解.net中的用戶控件屬性。

+0

用戶控件已經有一個名爲DataContext的,所以我的繼承類也將具有這種性質的屬性.. – 2009-05-04 13:12:49

相關問題