如何在WPF应用程序中请求选项卡是否可以关闭

问题描述:

在具有带多个选项卡并且每个选项卡都包含可能正在编辑的实体的选项卡控件的应用程序中,如何指示选项卡以确定它们是否处于编辑状态模式,不应该关闭?如何在WPF应用程序中请求选项卡是否可以关闭

RoutedCommand或RoutedEvent也许?

因此,顶部窗口需要请求所有开放的孩子(他们可能是不同的类型等),他们是否可以关闭。

RoutedCommand。这是他们的目的!

如果所有的孩子都是不同的类型,那么为每个类设置一个IClosable接口(使用CanClose和Close())意味着您可以在不知道任何关于不同类型的情况下遍历集合。

RoutedEvent,事件已传播到过所有的孩子分两个阶段,首先应该是

关闭路由事件与撤销的变量要么取消整个关闭操作和关闭事件的完整传播史之后,你应该关闭传播完成事件。

如果你想发送某种类型的通知给任何其他对象,你应该使用RoutedEvent,关闭/关闭是要关闭的对象处理的通知(事件)。

如果你想调用一个对象的方法(命令),那么你应该使用RoutedCommand。

+0

我试图使用RoutedEvents和Commands,但他们似乎有问题;无论是否使用RoutingStrategy,选项卡控件上的父级RaiseEvents和事件都会进入根窗口(或从根窗口到发送方)。 如何向孩子们播放? – gimpy 2010-08-24 10:09:47

+0

您必须通过使用VisualTreeHelper导航Visual Tree来显式广播每个孩子,直到您的事件得到处理!!,这就是我为我的一个项目做的。 – 2010-08-24 11:54:37