6
我無法設置UserControl的datacontext(UserControl嵌套在其他UserControl中)。在WPF中設置子UserControl的datacontext
我有以下結構:
查看/的ViewModels:
MainControl <-> MainViewModel <br>
UserControlA <-> ViewModelA<br>
UserControlB <-> ViewModelB<br><br>
ViewModels:<br>
ViewModelB
是ViewModelA
MainViewModel實例在ctor
ViewModelA
和ViewModelB
的性質。
瀏覽:
MainControl
包含UserControlA
,又包含UserControlB
MainControl
分配ViewModelA
作爲DataContext的(這工作正常)
<!-- MainControl Xaml-->
<UserControl x:Name="MainControl">
<views:UserControlA DataContext="{Binding ViewModelA}" />
</UserControl>
在UserControlA
我做同樣的事情作爲MainControl
,將數據上下文 的UserControlB
與它的ViewModel
關聯,這是ViewModelA
的一個屬性 這不是作爲ex反恐執行局...
<!-- USerControlA Xaml-->
<UserControl>
.....
.....
<views:UserControlB DataContext="{Binding DataContext.ViewModelB}" />
</UserControl>
由於斯圖爾特,它實際上竟然是我與我綁定的DataContext方式的一部分愚蠢的拼寫錯誤。我剛讀完一篇關於調試綁定錯誤的文章,這也有幫助。這裏是[調試綁定錯誤] http://www.wpf-tutorial.com/data-binding/debugging/
我同意你沒有必要使用ViewModel的DataContext.ViewModelB就足夠了。 – Anonymous