我想知道如何在按下按鈕時在主窗口中創建不同的視圖。我不確定正確的術語,所以這阻礙了我的谷歌。更改主要查看區域
我在想主要的觀看區域是內容控件,當事件發生時我可以改變。我做了一個小圖來幫助說明我的想法/想法。
任何輸入將不勝感激。謝謝!
我想知道如何在按下按鈕時在主窗口中創建不同的視圖。我不確定正確的術語,所以這阻礙了我的谷歌。更改主要查看區域
我在想主要的觀看區域是內容控件,當事件發生時我可以改變。我做了一個小圖來幫助說明我的想法/想法。
任何輸入將不勝感激。謝謝!
這將是很容易實現使用MVVM方法,這塞納里奧....
做一個視圖模型爲你的MainView。然後定義你的用戶控件的的ViewModels的屬性
例如,你有兩個用戶控件作爲FirstView
和SecondView
然後在您的ViewModels使屬性類型視圖模型(通常稱爲ViewModelBase)
設置綁定爲
的ViewToLoadProperty
<!-- Panel For Hosting UserControls -->
<Border Grid.Column="2">
<ContentControl Name="userControlContentControl"
Content="{Binding Path=ViewToLoadProperty,
}">
<ContentControl.Resources>
<DataTemplate DataType="{x:Type ViewModelLayer:FirstViewModel}">
<ViewLayer:FirstView/>
</DataTemplate>
<DataTemplate DataType="{x:Type ViewModelLayer:SecondViewModel}">
<ViewLayer:SecondView />
</DataTemplate>
</ContentControl.Resources>
</ContentControl>
</Border>
<!-- Panel For Hosting UserControls -->
然後當你點擊按鈕使用命令到相應的視圖模型Intance設置爲這個(ViewToLoadProperty)財產......(使用RelayCommannds
或類似的東西)
DataTempates
將通過根據權類型視圖模型
可以使用MVVMLight工具包,如果要實現MVVM模式.. :)
在右邊你可以有一個框架。然後該按鈕將不同的頁面或用戶控件綁定到該框架的內容。
通常被稱爲主選擇合適的視圖做這項工作的其餘部分據我所知,細節架構。我不會使用事件,但選擇和[數據綁定](http://msdn.microsoft.com/en-us/library/ms752347.aspx)。 – 2012-01-10 19:09:34
看起來像TabStripPlacement =「Left」的TabControl。看到這裏:http://msdn.microsoft.com/en-us/library/system.windows.controls.tabcontrol.tabstripplacement.aspx – Clemens 2012-01-10 19:34:32