Убедитесь, что предварительный просмотр окна панели задач WPF реализован - PullRequest
6 голосов
/ 10 июня 2011

Как можно убедиться, что предварительный просмотр моего приложения WPF (.net 4) обновляется, когда пользователь наводит мышь на значок на панели задач.
У меня есть приложение, которое отображает некоторые значения состояния.Если окно приложения свернуто и пользователь наводит курсор на кнопку панели задач, показанное окно предварительного просмотра показывает последний вид окна, в котором оно было активным.Однако я хотел бы получить актуализированное представление.
Есть ли возможность достичь этого?

Ответы [ 2 ]

6 голосов
/ 10 июня 2011

Полагаю, вам необходимо настроить предварительный просмотр, как описано здесь (в разделе «Настройка предварительного просмотра»).Который использует Windows API Code Pack для Microsoft® .NET Framework .

Пример можно найти здесь , но выглядит так:

TabbedThumbnail preview = new TabbedThumbnail(parentForm.Handle, childForm.Handle);
TaskbarManager.Instance.TabbedThumbnail.AddThumbnailPreview(preview);
preview.TabbedThumbnailBitmapRequested += (o, e) =>
    {
        Bitmap bmp = new Bitmap(width, height);

        // draw custom bitmap...

        e.SetImage(bmp);
        e.Handled = true;
    };

Другой пример, можно найти здесь , в котором говорится:

Класс CustomWindowsManager предоставляет абстракцию настроенного предварительного просмотра миниатюры окна и предварительного просмотра в реальном времени (peek), включая средства дляполучать уведомление, когда диспетчер окон рабочего стола (DWM) запрашивает растровое изображение предварительного просмотра, и автоматически захватывать растровое изображение предварительного просмотра окна.

Ссылка для загрузки этого кода здесь , который включает класс CustomWindowsManager.Похоже, это обеспечивает предварительный просмотр в реальном времени.

1 голос
/ 10 июня 2011

Вы, вероятно, не можете. Windows 7 передает графику открытого окна на предварительный просмотр с панели задач.Он не может знать, как теперь выглядит окно, пока оно свернуто, потому что оно вообще не рисуется.

Полагаю, что нет ничего невозможного в создании пользовательских миниатюр.Помимо ответа CodeNaked, я также нашел эту статью , которая даже включает несколько миниатюр из одного и того же приложения.

...