我想動態地加載用戶控件到內容控件,所以我使用了基於DataTemplate的改變usercontrol的「Good Old Method」。內容控制+ DataTemplate動態改變UserControl DevExpress wpf
但是,在設置ViewModel屬性(即綁定到ContentControl內容屬性)時,ContentControl顯示的是包含相應viewmodel名稱的「text」,而不是加載相應的Usercontrol。
Window`s資源
<dxr:DXRibbonWindow.Resources>
<DataTemplate x:Key="TYRVM" DataType="{x:Type VM:ProductTYRViewModel}">
<views:TYRUserControl/>
</DataTemplate>
<DataTemplate x:Key="THORVM" DataType="{x:Type VM:ProductTHORViewModel}">
<views:THORUserControl/>
</DataTemplate>
<dxr:DXRibbonWindow.Resources>
Window`s代碼
<ContentControl Name="content" Content="{Binding Path=VMs,Mode=TwoWay}"/>
現在我不`噸知道到底是什麼問題!
你的DataTemplates嘗試ContentControl.Resources檢查它們是否正常工作。如果他們這樣做,你可以繼續檢查在DXRibbonWindow中發生了什麼。 – blindmeis
也許你的綁定(虛擬機)不好。什麼輸出說?也許數據上下文沒有設置,或者contentcontrol有錯誤的數據上下文。你應該給我們更詳細的xaml代碼 – Igor
@Igor我已經試過檢查ContentControl綁定,值得到更新。但問題是,而不是顯示usercontrol,ContentControl顯示「文本」,即viewmodel名稱。 –