我有一個頁面上的用戶控件,我想加載其網格中的另一個自定義用戶控件。不過,我希望用戶控件類型是動態的 - 例如從下拉列表中選擇「計算器」將顯示我的自定義計算器控件,並選擇「貨幣轉換器」將加載我的貨幣轉換器。任何人都可以幫忙嗎?動態兒童用戶控件MVVM
順便說一下,我試圖堅持MVVM。
在此先感謝。
我有一個頁面上的用戶控件,我想加載其網格中的另一個自定義用戶控件。不過,我希望用戶控件類型是動態的 - 例如從下拉列表中選擇「計算器」將顯示我的自定義計算器控件,並選擇「貨幣轉換器」將加載我的貨幣轉換器。任何人都可以幫忙嗎?動態兒童用戶控件MVVM
順便說一下,我試圖堅持MVVM。
在此先感謝。
一種方法是爲每個孩子定義一個DataTemplates
一個。當用戶選擇該選項時,將相應的ViewModel
設置爲父視圖中存在的ContentControl's DataContext
,框架將爲您選擇相應的視圖。
約翰帕帕寫了一篇很棒的博客文章,關於如何做到這一點here。
基本策略是實例化從下拉菜單中選擇一個從UserControl派生的類的新實例。
換句話說,可以處理下拉列表的SelectionChanged事件並根據選定的項目創建一個新的UserControl對象。
這不是MVVM模式 – CamronBute