Я написал WndProc
, чтобы знать, мигает ли текущее окно.Это выглядит следующим образом:
private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
var retVal = IntPtr.Zero;
switch (msg)
{
case (int)WindowsMessages.NCACTIVATE:
retVal = WindowsNative.DefWindowProc(hwnd, WindowsMessages.NCACTIVATE, new IntPtr(1), new IntPtr(-1));
IsFlashing = (int)wParam == 0;
break;
}
return retVal;
}
Теперь это прекрасно работает с любым Window
, за исключением случаев, когда их свойство SizeToContent
установлено на Height
(я не проверял WidthAndHeight
, но я предполагаю,это тоже не сработает);в этом случае сообщение WM_NCACTIVATE
вообще не отправляется на Window
.Все мои окна используют пользовательский интерфейс (используя WPF WindowChrome).Возможно, вы знаете причину или можете помочь мне с этой проблемой?