2010-08-24 39 views
0

在具有帶多個選項卡並且每個選項卡都包含可能正在編輯的實體的選項卡控件的應用程序中,如何指示選項卡以確定它們是否處於編輯狀態模式,不應該關閉?如何在WPF應用程序中請求選項卡是否可以關閉

RoutedCommand或RoutedEvent也許?

因此,頂部窗口需要請求所有開放的孩子(他們可能是不同的類型等),他們是否可以關閉。

回答

0

RoutedCommand。這是他們的目的!

如果所有的孩子都是不同的類型,那麼爲每個類設置一個IClosable接口(使用CanClose和Close())意味着您可以在不知道任何關於不同類型的情況下遍歷集合。

0

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

相關問題