什么是建立复杂需求的正确WPF MVVM方法

时间:2019-06-06 07:01:55

标签: c# wpf xaml mvvm

我正在尝试构建类似于Automation Anywhere的应用程序,并且坚持设计考虑。

将其可视化以更好地理解可能是一个好主意,我将尝试通过我的App的屏幕截图来解释它,到目前为止,我取得了什么成就。

让我们从左侧面板查看 DiskCleanUp 按钮

enter image description here

  1. 点击后,对话框窗口会询问更多信息 详细信息/信息,如下所示。 enter image description here

  2. 用户将其填写并点击保存,这将在     右侧。

  3. 用户可以双击条目以打开对话框         窗口并根据需要更新信息。

  4. 用户应该能够再次从左侧单击 DiskCleanUp     面板上,填写信息并在右侧添加另一个条目     端,该条目应允许将来进行更新。

问题:

  • 我们如何处理第3点和第4点?
  • 现在我对DiskCleanUp有一个模型和一个视图,这足以满足上述要求
  • 当尝试单击DiskCleanUp添加新条目时,它将显示前一个条目的值。 (尝试打开现有条目时也会发生同样的情况)

注意:我已经在视图模型中使用INotify进行双向通信。 我已经将ItemsControl与DataTemplate(按钮)一起使用来添加多个条目。

请告诉我这是正确的方向。.让我知道是否需要提供代码片段和代码。.

1 个答案:

答案 0 :(得分:1)

在右侧,在DataGrid中显示添加的条目,并双击创建DataGrid命令

<DataGrid Name="EntryListDataGrid"....>    
     <DataGrid.InputBindings>
         <MouseBinding Gesture="LeftDoubleClick" Command="{Binding GridDoubleClickCommand}" CommandParameter="{Binding ElementName=EntryListDataGrid, Path=SelectedItem}"/>
     </DataGrid.InputBindings>
  ...
  ...
  ...
</DataGrid>

然后在“命令”操作中,打开包含选定数据的DiskCleanUp View

在DisskCleanUp ViewModel中,您可以使用静态变量来检查它是编辑条目还是新条目

  public static int EditingEntryId = 0;