65.9K
CodeProject 正在变化。 阅读更多。
Home

WPF 应用程序启动器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.69/5 (9投票s)

2009 年 6 月 1 日

LGPL3

2分钟阅读

viewsIcon

70305

downloadIcon

5011

一键轻松启动您最常用的应用程序

Rocket02.png

引言

另一个可以帮助您启动您喜欢的应用程序的工具。我也喜欢 Launchy 或 RocketDock,但我希望有一个简单的工具,只需单击一下即可访问我最常用的应用程序。

您可以通过单击任务栏通知区域中的图标来访问该应用程序。

Using the Code

应用程序本身非常简单。我使用一个由两个类组成的小型领域模型:一个类表示类别(如 Office、开发等),另一个类包含在类别中并表示快捷方式。所有这些都通过一个上下文对象访问,该对象使用更改跟踪和持久性框架以及 XML 文件作为后端。

模型和 UI 之间的同步完全通过数据绑定完成:有两个嵌套的项控件:一个用于类别,另一个用于快捷方式。应用程序状态和功能的逻辑表示聚合在 MainViewModel 中。

一个“好东西”是每个链接都被一种颜色包围,这种颜色是图标颜色的平均值(在 AmbilightConverter 中实现)。

关注点

我学到了一些关于可用性的有趣的东西,我以前从未意识到:我提到过,如果您想访问该应用程序,您必须单击通知图标 - 那个图标很小,至少比开始菜单的开始按钮小。如果你想点击图标,你必须“集中注意力”——这比点击开始按钮难得多。即使开始按钮更大,它也不仅仅比通知图标大 _很多_ - 错!然后我意识到开始按钮是无限大的,因为它超出了屏幕的角落,所以你只需要将鼠标推到屏幕的角落里 - 你就会自动点击它!因此,如果您有一个非常重要且必须非常容易访问的项目,请考虑将其放置在您的一个角落里!

未解决的问题

没有外部扩展应用程序的方法。目前,我们只能运行快捷方式。拥有一个可以让你为快捷方式实现不同行为的机制会很好,例如打开另一个菜单等。

也许用它来替换开始菜单会很好,但我还没有这样做。或者实现一个热键机制。

提取文件系统图标

对于这项任务,我使用了 vbAccelerator 提供的很棒的实现,这为我节省了很多工作。 可以在 此处 找到许可证。

玩得开心!

历史

  • 2009 年 6 月 1 日:初始帖子
© . All rights reserved.