我新的WPF,我想,以顯示與多個用戶控件的窗口。WPF:更改用戶控件編程
example.xaml
<DockPanel>
<Border x:Name ="TopRegion" DockPanel.Dock = "top">
<local:userControl1/>
</Border>
<Border x:Name ="leftRegion" DockPanel.Dock = "left">
<local:userControl2/>
</Border>
</DockPanel>
的的UserControl1和usercontrol2在同一個項目的其他意見。 I.e usercontrol1.xaml和usercontrol2.xaml。
問題是我需要在運行時間期間,即編程式地將usercontrol
的leftRegion
從usercontrol2
更改爲usercontrol3
。
如何example.xaml.cs程序實現這一目標。
每當你說你WPF也不得不說MVVM了。 WPF有一些非常強大的功能,爲的DataTemplates和templateselectors這是最好的MVVM –
使用在任何基於XAML的API,如WPF的,你說你要直接通過編程方法改變UI目標的那一刻,你已經失敗了。您沒有提供足夠的上下文(即良好的[MCVE],與之配套的細節一起),但是... –
...你出現在場景中要試圖解決通過定義每個視圖模型類是更好的解決' UserControl「,爲每個視圖模型類聲明'DataTemplate'資源,其中模板僅包含與該視圖模型類相關聯的'UserControl',以及使用ContentControl來呈現視圖模型,讓WPF執行將視圖模型匹配到右側UserControl的工作。然後,改變顯示的UserControl是改變你在那個地方使用的視圖模型類的一個簡單的問題。 –