【问题标题】:Prism custom dialog with 2 views (ReadOnly view and Edit view) - WPF具有 2 个视图(只读视图和编辑视图)的 Prism 自定义对话框 - WPF
【发布时间】:2016-12-04 16:21:14
【问题描述】:

我希望您能就如何按照 Prism 框架设计具有 2 个视图的自定义对话框提出意见。

所以,想法是:当用户双击一个项目(联系人项目)时,会显示一个弹出视图(这是“只读”视图),用户可以在其中阅读联系人详细信息但不能编辑所有联系人(只能编辑联系人的少数属性)。在这个表单中,有一个按钮可以切换到“编辑”模式,然后在同一弹出窗口中显示“编辑”视图(我不想打开新窗口)。

在编辑视图中,有两个按钮(一个用于保存更改,一个用于取消交互)。保存或取消后,“只读”视图再次显示。

你做过吗?

【问题讨论】:

    标签: c# wpf mvvm prism interaction


    【解决方案1】:

    如果两个视图的布局相同,除了仅在“编辑”模式下出现的按钮,那么我会选择实现一个视图并使用视图模型的一个属性和适当的转换器来启用/立即禁用所有控件中的编辑和“编辑模式”按钮的可见性。通过这种方式,您可以通过一个单一的视图来简化维护、演进和测试。该属性将由“使可编辑”按钮触发。

    【讨论】:

    • 我不喜欢这个选项 100% 因为我想以不同的方式显示元素,而且有些元素出现在只读视图中,但它们不在编辑视图中。我想有两种不同的看法
    【解决方案2】:

    如果真的需要这两个视图,那么我会选择一个带有隐藏选项卡的 TabControl,一个包含只读视图,另一个包含读/写视图。编辑/完成按钮(每个视图内一个或 TabControl 下方一个)将控制要显示的选项卡。 然后将 ViewModel 分配给 TabControl,通过继承,两个视图将绑定到相同的视图,使一侧的所有修改在另一侧自动可见(显示时)。

    请参阅here 以隐藏选项卡。

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 2012-09-29
      • 1970-01-01
      • 2019-12-12
      • 2011-01-29
      相关资源
      最近更新 更多