[問題] WPF ViewModel constructor開啟其他專案

作者: z79263578 (Reinace)   2018-05-17 16:07:03
想請問一下目前實做Mvvm遇到一個問題
就是我想要在ViewModel的建購子就直接開啟另一個視窗專案
我的Window.DataContext綁定著ViewModel
我的ViewModel的建購子大概長這樣
ViewModel()
{
NewProject Form = new NewProject();
Form.ShowDialog();
}
但是他直接就開2次新視窗專案了..
問題有幾個
1.ViewModel可以設定建購子嗎?
2.想請問一下程式開起來的順序是 MainWindow -> ViewModel嗎?
3.假如ViewModel的建購子有帶參數 像ViewModel(int a)這樣的話要怎麼綁定呢?
作者: smmoon (邦)   2018-05-18 14:39:00
你的三個問題都跟觀念有關係 建議你先去看sample
作者: z79263578 (Reinace)   2018-05-18 16:42:00
因為公司突然要用WPF,而且都沒人會所以現在都是自學,常常碰很多壁,也找不到人問..想請問那假如想在ViewModel直接開另一個專案的Form有甚麼比較好的方法嗎?
作者: lightyen (lightyen)   2018-05-19 00:45:00
你在畫蛇添足??
作者: z79263578 (Reinace)   2018-05-19 07:39:00
抱歉我就是不懂所以才來問到底要怎麼做...
作者: testPtt (測試)   2018-05-19 08:41:00
2個Project一起跑?一次從NewProject開 一次從ViewModel開
作者: z79263578 (Reinace)   2018-05-19 11:42:00
應該說,我想在我的Project剛開始就去開另一個Project開另一個Project會載入資料,我需要傳回本來ViewModel
作者: testPtt (測試)   2018-05-19 12:27:00
你把Form.ShowDialog();拿掉試試
作者: Litfal (Litfal)   2018-05-19 13:27:00
如果那個Form是外部來的,那開個Service裝比較好你一定是new了兩次viewmodel阿
作者: z79263578 (Reinace)   2018-05-19 16:23:00
我是把VM放在window.DataContext裡面神秘的是,我沒有開始程式,只是把程式切到XAML那邊他也自己跳出來..我根本沒按F5開始程式
作者: lightyen (lightyen)   2018-05-20 15:04:00
在XAML的設計模式時 UI的建構子會被執行
作者: z79263578 (Reinace)   2018-05-20 16:11:00
原來是這樣...所以我是不是該在MainWindow開啟其他專案然後再把其他專案拿到的資料傳到ViewModel裡面呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com