一個新手綁定問題。我有多個用戶控件在我mainview.xaml叫,如:如何將用戶控件的屬性綁定到MainViewModel並將其datacontext綁定到它自己的viewmodel?
<i:InkRichTextView RichText ="{Binding LastNote}" ... />
其中富文本是在InkRichTextView.xaml用戶控件的代碼隱藏依賴屬性和LastNote是mainviewmodel的屬性。
的MainViewModel通過在App.xaml中一個DataTemplate的方式與含蓄的MainView相關,如:
<DataTemplate DataType="{x:Type vm:MainViewModel}">
<v:MainView/>
</DataTemplate>
我想設置的用戶控件InkRichTextView自身的視圖模型,它的屬性是在MainViewModel舉行,是這樣的:
<i:InkRichTextView RichText ="{Binding LastNote}" DataContext="{Binding ucFirstControl}" ... />
但是當我這樣做,我的用戶控制InkRichTextView失去了LastNote上下文(或失去在它的依賴屬性訪問代碼隱藏,或兩者?) 。
如何維護對LastNote的MainViewModel屬性的綁定,並仍爲用戶控件提供單獨的DataContext? (請記住,UserControl在其代碼隱藏中定義了依賴項屬性)。
感謝您的任何幫助。
啊哈,一個星期,另一人試圖創建一個視圖模型爲他們的用戶控件。想知道爲什麼你會遇到困難嗎?這是因爲*你不應該這樣做*。想想看 - TextBox有一個ViewModel嗎?不會。它暴露了你綁定* * ViewModel的屬性。這就是你的UserControl應該做的。在這裏看到更多的細節:http://stackoverflow.com/search?tab=newest&q=user%3a1228%20is%3aanswer%20usercontrol – Will 2014-12-08 15:34:45