我正在開發WPF項目,現在我正在致力於功能區。RibbonGroup導致其子項丟失DataContext
的絲帶的我在裏面有一定的控制,例如RibbonComboBox
,RibbonTextBox
等
我在Ribbon
幾個RibbonTab
所以我設置一個視圖模型爲每個RibbonTab如下:
<rb:Ribbon Name="Ribbon">
<rb:RibbonTab Header="Tab One" Name="tab1">
<rb:RibbonTab.DataContext>
<vm:TabOneViewModel />
</rb:RibbonTab.DataContext>
因此,這些選項卡中的每個控件都會繼承其各自的視圖模型。
當我運行應用程序時,一切都按預期工作。當我將容器窗口調整爲非常小的尺寸時,問題開始:每個控件都會丟失它們的綁定,因爲它們的DataContext被一個名爲DisconnectedItem
的對象所取代。
我已經做了一些研究,發現這是由於控件停止成爲可視樹的一部分,因此綁定引擎將其DataContext設置爲DisconnectedItem
。
我該怎麼做才能防止我的控件丟失DataContext
?
編輯:
我剛剛發現的主要問題來自於RibbonGroup
控制,摺疊後使得其視覺孩子失去他們的DataContext。
這很有趣!我沒有意識到它是你再問一次。我想通過我建議的鏈接沒有解決任何問題? – ChiefTwoPencils
@ C.Lang是的,我無法解決它。實際上,在另一個問題中,我認爲錯誤的來源是'RibbonComboBox',但我只是意識到問題在於Ribbon本身,導致它的可視化子代在崩潰時失去DataContext。 – Dante