請注意,這是一個相當基本的問題(我認爲)。在代碼隱藏中訪問DataContext
我有一個UserControl,名爲MyUserControl。我用它在一個DataTemplate我的列表框:
<l:MyUserControl DataContext="Test" />
現在我想的MyUserControl的代碼隱藏訪問此DataContext的,我期望的DataContext包含一個String對象的內容是「測試」。但是,DataContext爲null。我在這裏錯過了什麼?
請注意,這是一個相當基本的問題(我認爲)。在代碼隱藏中訪問DataContext
我有一個UserControl,名爲MyUserControl。我用它在一個DataTemplate我的列表框:
<l:MyUserControl DataContext="Test" />
現在我想的MyUserControl的代碼隱藏訪問此DataContext的,我期望的DataContext包含一個String對象的內容是「測試」。但是,DataContext爲null。我在這裏錯過了什麼?
如果你想後面訪問代碼DataContext屬性,給用戶控件(或與此有關的任何控件)名稱:
在後面的代碼:
myControl.DataContext = someobject;
儘管在您的示例中將DataContext設置爲「Test」將不會執行任何操作。
閱讀上的數據在WPF結合 http://msdn.microsoft.com/en-us/library/aa480224.aspx
在MyUserControl的類中名爲DataContext需要一些字段或屬性。
請參閱here瞭解.net中的用戶控件屬性。
用戶控件已經有一個名爲DataContext的,所以我的繼承類也將具有這種性質的屬性.. – 2009-05-04 13:12:49
它不應該是其他的方式?例如: var theDataContext =(SomeViewModelType)myControl.DataContext; 或者至少: var theDataContext = myControl.DataContext; op不想設置數據上下文,但要訪問它。 – Jelgab 2018-02-07 00:42:05