我知道已經有幾個這樣的問題,但我似乎無法解決做什麼,我有一個按鈕,我想打開一個新的窗口,有沒有辦法在純xaml中做到這一點?沒有從CodeBehind或ViewModel中調用它,我沒有看到如何打開對話框。我沒有使用任何mvvm工具包。打開按鈕按鈕點擊MVVM
回答
你可以像這樣....
您可以使用<x:Code>
:
<Button Content="OK" Click="Button_Click"/>
<x:Code>
private void Button_Click(object sender,RoutedEventArgs e)
{
MessageBox.Show("Hello");
}
</x:Code>
標準的方式做到這一點是commands。
但如果我使用一個命令,那麼我將需要在我的ViewModel中創建它,並且由於我需要顯示一個新窗口,這將打破MVVM:s –
這仍然是有效的代碼 - 它只是將其移入xaml一側。 .. –
我最後的代碼背後,並沒有我所希望的那麼好,但由於我沒有使用MVVM框架,這是最簡單的解決方案。 –
我沒有看到如何打開對話框,而無需從我的CodeBehind或ViewModel調用它。
通常,您在代碼中執行此操作 - 但大多數MVVM框架提供了一種抽象方法。
這通常通過某種形式的服務位置(即:在ViewModel中注入「ViewService」或類似物)來處理。另一種選擇是使用某種形式的消息傳遞,這是MVVM Light的方法。
這些方法的優點是可以在不知道視圖的情況下編寫虛擬機 - 您正在改變您編寫代碼的方式,以便命令(在ViewModel中)觸發某個事件,並且正確視圖爲您打開。這使View層依賴於你的VM層。
- 1. 打開GI按鈕點擊
- 2. MVVM通按鈕,點擊父
- 3. 列表包含按鈕。在按鈕點擊打開控制器
- 4. 從按鈕點擊打開表單?
- 5. 鍵盤沒有打開按鈕點擊
- 6. 按鈕點擊不打開新窗口
- 7. 點擊按鈕後打開UITableView
- 8. 打開模態區域點擊按鈕
- 9. 按鈕打開谷歌URL點擊
- 10. 打開XamWebDialogWindow on按鈕點擊silverlight
- 11. 打開/關閉按鈕點擊jQuery
- 12. Wordpress打開按鈕上的WhatsApp點擊
- 13. 在Form1上點擊按鈕打開Form2
- 14. 如何打開按鈕,點擊angular2
- 15. Eclipse RCP - 按鈕點擊打開透視
- 16. WPF:點擊按鈕打開新窗口
- 17. 如何從按鈕打開.xib點擊
- 18. ASP.net點擊按鈕打開新的webform
- 19. 按鈕/圖像打開彈出點擊
- 20. 從按鈕打開菜單點擊
- 21. 點擊按鈕打開AngularJS手風琴
- 22. 按鈕點擊時打開頁面
- 23. 窗口沒有打開按鈕點擊
- 24. 點擊按鈕後打開對話框
- 25. 打開汽車上點擊按鈕
- 26. 新意圖按鈕不打開點擊
- 27. 打開NSPanel,點擊PDE中的按鈕
- 28. 按鈕打開鍵盤點擊
- 29. Windows phone7:點擊按鈕打開網頁?
- 30. 打開按鈕點擊新視圖
新窗口是彈出窗口還是完全獨立的非模態窗口? – sll