第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶參數(shù)的 MVVMLight 打開視圖

帶參數(shù)的 MVVMLight 打開視圖

C#
ITMISS 2021-10-24 16:42:55
我正在嘗試學習 MVVMLight 并且我一直在創(chuàng)建用于編輯對象的新視圖。我有與客戶CustomersView一起CustomersViewModel顯示數(shù)據(jù)網(wǎng)格。雙擊 DataGridRow,我打開一個CustomerView實現(xiàn) aCustomerViewModel來編輯客戶的代碼,我在以下代碼中使用CustomersViewModel: var cv=new CustomerView(); var cvm=new CustomerViewModel(); cvm.IsEdit = true; cvm.Customer = customer; cv.DataContext = cvm; cv.ShowDialog();這是一個糟糕的方法嗎?創(chuàng)建視圖、使用一些參數(shù)實例化視圖模型的最佳方法是什么?
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

Ba 知道,如果您在 viewModel 中實例化一個視圖對象,例如 CustomerView,您將打破 mvvm 模式。如果您的項目會增長,那應該是一個問題。


如果你絕對想保持 mvvm 模式,你有兩個選擇:


1)創(chuàng)建一個界面


interface INavigationService

{

    NavigateTo(string viewName ,objet params);

}

創(chuàng)建此類的單例實現(xiàn)。將創(chuàng)建新 CustomerView() 和其他視圖的邏輯放在此方法中。主要目標是將視圖與其他任何東西分開。嘗試使用注入在您的視圖模型中只包含 INavigationService 引用。


2)使用像Prism這樣的mvvm很重的框架;


查看完整回答
反對 回復 2021-10-24
  • 1 回答
  • 0 關注
  • 245 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號