我知道已经有几个这样的问题,但我似乎无法解决做什么,我有一个按钮,我想打开一个新的窗口,有没有办法在纯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