dar*_*dog 17 c# wpf xaml prism mvvm
昨天我用谷歌找到了一些方法,用PRISM 4.1和MVVM模式在WPF中制作了一个非常棒的可重用模态对话框.我发现了一些例子,但我必须说那些不像我喜欢它们那样"漂亮".
这一个:WPF模态对话框(没有mvvm - >没用)
这非常好:在使用MVVM模式时显示Dialogs(但它仍然使用我不需要的自制ServiceLocator,因为我正在使用IUnity Container.我可以使用逻辑并将其重写为Unity但这不是"漂亮的" "在我诚实的意见中.
好吧,经过一段时间在网上搜索信息,一些博客(现在找不到源代码)告诉我,PRISM框架有一个叫做"交互请求"的东西.所以我查看了prism文档并在"高级mvvm场景"主题下找到了一小部分,但文档中给出的信息还不够.
我想知道是否有人有任何好的例子或任何好的博客文章,关于如何用mvvm在prism wpf中实现一个很棒的模态对话框.
编辑:关于评论中的问题:
是什么让模态对话变得棒极了?
确实是个好问题.
Jaw*_*har 20
PRISM 5.0提出了快速解决方案来显示模态对话框.使用PopupWindowAction.
<prism:InteractionRequestTrigger SourceObject="{Binding CustomPopupViewRequest, Mode=OneWay}">
<prism:PopupWindowAction>
<prism:PopupWindowAction.WindowContent>
<views:CustomPopupView />
</prism:PopupWindowAction.WindowContent>
</prism:PopupWindowAction>
</prism:InteractionRequestTrigger>
Run Code Online (Sandbox Code Playgroud)
交互请求需要更多的前期工作,但它们绝对是从MVVM纯粹主义角度出发的正确方法......
我在Karl Shifflett的MVVM In The Box训练扩展中看到了如何使用Prism做到这一点的一个例子.
我记得,这个例子在边缘非常粗糙,但它应该让你朝着正确的方向前进.
这种视图"对话框"的问题是它不允许对话框超出父窗口的范围.从好的方面来说,你可以做很多花哨的布局和动画.