我工作的一個UserControl
,它是由一個Chart
面板,並且其一些操縱圖表數據即圖表對照(圖的變色,啓用或圖表上禁用的東西等)的另一區域。將兩個UserControl綁定到相同的DataContext或ViewModel?
我使用ViewModel
來管理圖表及其數據,但一直在想,如果從圖表控制區域中創建一個單獨的用戶控件以防止我的xaml變大並分離出組件,那將會很不錯。
如果我這樣做雖然,因爲控件將需要處理來自Chart
ViewModel
的數據,應該怎麼處理它?我可以將Chart
控件的DataContext
綁定到Chart
的DataContext
,所以我只有一個ViewModel
?我應該讓自己的圖表控件擁有自己的視圖模型,然後讓圖表面板和圖表控件viewmodel以某種方式進行交談?
或者只是忘了一個單獨的用戶控件,並將所有東西放到一個大的viewmodel/xaml控件中?
在這種情況下,人們會推薦什麼?
很酷,這絕對會爲我簡化一些事情。你能提供一個小例子或鏈接,告訴我如何將每個DataContext綁定到同一個對象實例,或者將一個控件的DataContext綁定到另一個控件的DataContext上?要麼應該工作,但我還沒有找到語法。謝謝! – Nicros 2010-01-29 17:21:36
想通了,似乎工作還行。 在孩子UserControl: DataContext =「{Binding DataContext,RelativeSource = {RelativeSource FindAncestor,AncestorType = {x:Type local:SpectraView}}}」 – Nicros 2010-01-29 22:36:58
請注意相關的源數據綁定。在運行時可能會非常昂貴!爲什麼不通過它的名字直接綁定到其他元素? – 2010-02-02 00:14:56