Short answer is no. There is no equivalent of IMessageFilter in WPF. As per Josh Smith -
There is no equivalent of IMessageFilter in WPF. But you might be able to devise some scheme where your app's main window's wndproc is subclassed and you filter on the power-awareness messages. When they pass through, notify some other class which the entire application can then listen to via Observer pattern.