在2页向导应用程序中处理按钮操作的机制

时间:2011-05-15 08:43:09

标签: c# wpf button user-controls

我正在创建一个2页向导风格的应用程序。每个向导页面都是一个用户控件,然后在用于整个应用程序的单个窗口中使用。我的问题是关于每个用户控件所需的按钮。

第一页将连接到数据库,并具有“关闭”按钮和“连接”按钮。 “关闭”按钮将退出应用程序,“连接”按钮将执行一些验证。在连接时,如果有任何错误,则用户控件将通知用户这个。如果没有错误,那么应用程序将需要将一些数据传递给第二个用户控件,然后转换到它。

第二页将向用户显示将要执行的任务的摘要,并显示将退出应用程序的“关闭”按钮,它还将具有“执行”按钮。单击“执行”将启动一些长时间运行的任务,以更新用户控制界面。 “关闭”按钮将被禁用,“执行”按钮的文本将变为“取消”按钮,允许用户取消执行。执行完成后(因为它已完成或因为用户已取消),“关闭”按钮将重新启用,“取消”按钮将更改为“完成”。此时单击任一按钮将退出应用程序(尽管稍后我可能会更改Finish的行为以在退出之前执行其他操作)。

作为WPF的新手并来自WinForms背景,我不确定使用这些按钮的正确“WPF方式”以及如何连接它们。

我的问题是:

  1. 这些按钮应该托管在用户控件中还是托管在用户控件外面的窗口上?
  2. 如果在窗口中托管:

    1. 目前,每个用户控件都需要2个按钮,但如果将来发生变化会发生什么?
    2. 窗口上的按钮在用户控件中触发操作的正确机制是什么?
    3. 用户控件在窗口上更改文本或启用/禁用按钮的正确机制是什么?
    4. 如果托管在用户控件中:

      1. 用户控件通知窗口移动到下一页的正确机制是什么?
      2. 这可能与上面的答案相同,用户控件通知窗口执行其他操作的正确机制是什么(例如退出应用程序)。
      3. 非常感谢提前。

1 个答案:

答案 0 :(得分:0)

对于类似于样式的向导,您应该考虑使用Pages并通过NavigationService处理导航。

您可以通过搜索google查找[wpf页面导航参数]来查找有关此主题的更多信息,例如http://www.paulstovell.com/wpf-navigation