在 WPF 中为悬浮在通知区域上的箭头设置动画的最佳方式

发布于 2024-10-22 21:25:47 字数 520 浏览 3 评论 0原文

在我的应用程序中的某个时刻,主窗口关闭,应用程序继续作为系统托盘图标运行。

每当发生这种情况时,我想向用户显示该应用程序现在作为图标位于通知区域中。我可以只显示一个工具提示,但它不再酷了。

相反,我想在图标上悬浮一个大箭头,以确保用户看到它。

以下是在 DropBox 应用程序中的操作方式:

http://img59.imageshack.us/img59 /9364/arrowva.png

在 WPF 中创建此箭头并为其设置动画的最佳方法是什么:

  1. 自定义形状窗口?如果是的话,动画会做什么。我可以将故事板动画应用到窗口本身吗?
  2. 一个透明的较大窗口,但带有箭头作为图像,并使用故事板为其设置动画?但是,我会让窗口捕获鼠标点击,这是不希望的。
  3. 还有其他方法吗?

谢谢。

At some point in my app the main window closes and the application continues to run as a system tray icon.

Whenever this happens, I want to show the user, that the app is now in the notification area as an icon. I could just show a tooltip, but it's not cool anymore.

Instead, I want to levitate a big arrow over an icon, to be sure that the user sees it.

Here is how it's done in DropBox application:

http://img59.imageshack.us/img59/9364/arrowva.png

What is the best way to create and animate this arrow in WPF:

  1. A custom shape window? If so, what will do the animation. Can I apply storyboard animation to a window itself?
  2. A transparent larger window, but with arrow as an Image, and animate it with storyboard? But than, I will have the window capture mouse clicks, which is not desired.
  3. Some other approach?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑咖 2024-10-29 21:25:47

您可以使用具有明确位置的 Popup

<Popup AllowTransparency="True" IsOpen="True" Placement="AbsolutePoint"
       HorizontalOffcet="{x:Static namespace:TrayInfo.LocationX}"
       VerticalOffcet="{x:Static namespace:TrayInfo.LocationY}" >
    <views:YourViewWithAnimatingArrowImage DataContext="{Binding ifYouNeed}" />
</Popup>

托盘信息

You can use Popup with explicit position:

<Popup AllowTransparency="True" IsOpen="True" Placement="AbsolutePoint"
       HorizontalOffcet="{x:Static namespace:TrayInfo.LocationX}"
       VerticalOffcet="{x:Static namespace:TrayInfo.LocationY}" >
    <views:YourViewWithAnimatingArrowImage DataContext="{Binding ifYouNeed}" />
</Popup>

TrayInfo

笑叹一世浮沉 2024-10-29 21:25:47

因为你不能真正为窗口设置动画(这是 user32 的事情,而不是 wpf 元素),所以我会选择选项 2。

since u can't really animate a window, (it's a user32 thing, not a wpf element), I'd go with option 2.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文