2011-07-09 128 views
1

我有一個頁面上的用戶控件,我想加載其網格中的另一個自定義用戶控件。不過,我希望用戶控件類型是動態的 - 例如從下拉列表中選擇「計算器」將顯示我的自定義計算器控件,並選擇「貨幣轉換器」將加載我的貨幣轉換器。任何人都可以幫忙嗎?動態兒童用戶控件MVVM

順便說一下,我試圖堅持MVVM。

在此先感謝。

回答

3

一種方法是爲每個孩子定義一個DataTemplates一個。當用戶選擇該選項時,將相應的ViewModel設置爲父視圖中存在的ContentControl's DataContext,框架將爲您選擇相應的視圖。

-1

約翰帕帕寫了一篇很棒的博客文章,關於如何做到這一點here

基本策略是實例化從下拉菜單中選擇一個從UserControl派生的類的新實例。

換句話說,可以處理下拉列表的SelectionChanged事件並根據選定的項目創建一個新的UserControl對象。

+0

這不是MVVM模式 – CamronBute