希望有人可以帮助我进一步理解Dialogs以及如何将它们应用到我正在开发的应用程序中(用于学习目的)。提前道歉 - 我对很多这些不同的技术没有很好的工作知识
我的viewmodel结构的基本布局如下面的Pic所示(带有相应的视图(UserControls) ViewModel Layout
在GroupView
模型中,每个标签都设置为餐厅的食物组和运行时加载的项目
<ItemsControl Margin="10" ItemsSource="{Binding Plus}" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" MaxWidth="410" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Margin="5" Width="80" Height="40"
Command="{Binding DataContext.AddPluCommand, RelativeSource={RelativeSource AncestorType=core:UserControlViewBase}}" CommandParameter="{Binding}">
<TextBlock Text="{Binding PluContent}" TextWrapping="Wrap" />
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
在Button click
上(通过命令:AddPluCommand)我想trigger
准备说明对话框(或模态视图)
示例:
按下咖啡 - 准备说明将使用3个按钮加载视图:
到目前为止,所有尝试都没有产生任何结果(交互触发器,对话服务,叠加模态视图)。最可能的原因是我将代码置于错误的ViewModels
(至少我认为这是原因)。
问题:
是否可以加载具有自己的ViewModel
的对话框(如上所述)。只有我见过的样本处理非常简单的文本类型消息?
哪个Viewmodel
应该拨打对话?
提前致谢
答案 0 :(得分:0)
我发现很难用WPF构建模态对话框。 现在我使用Mahapps Metro SimpleChildWindows,您可以使用Nugets下载它。
这样,您可以使用自己的ViewModel构建自定义模式视图(如果需要)。 看看我的问题(和我的答案) =&GT; SimpleChildWindows binded to View Model