当用户将鼠标放在任务栏图标上时,如何确保刷新WPF应用程序(.net 4)的功能预览。
我有一个可视化某些状态值的应用程序。如果应用程序窗口最小化并且用户将鼠标悬停在任务栏按钮上,则显示的预览窗口将显示窗口处于活动状态的窗口的最后一个视图。不过,我想有一个实际的观点
是否有可能实现这一目标?
答案 0 :(得分:6)
我认为您需要自定义预览,如here所述(在“自定义预览”部分下)。利用Windows API Code Pack for Microsoft® .NET Framework。
可以找到一个示例here,但看起来像是:
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;
};
另一个例子,可以找到here,其中说明:
CustomWindowsManager类 提供了一个抽象 定制窗口缩略图预览 和实时预览(偷看),包括 接收通知的设施 当请求预览位图时 桌面窗口管理器(DWM)和 自动抓取预览 窗口的位图。
此代码的下载链接是here,其中包含CustomWindowsManager类。这似乎提供了实时预览。
答案 1 :(得分:1)
你可能不能。 Windows 7将打开窗口的图形管理到任务栏的实时预览。当它被最小化时,它无法知道窗口现在是什么样的,因为它根本没有被绘制。
我想自定义缩略图并非不可能。除了CodeNaked的回答,我还找到了this article,它甚至包含来自同一个应用程序的多个缩略图。