我有一个带有自定义光标的Windows现代应用程序,它通过在系统光标之后有一个图像来实现。
我只是将自定义光标图像添加到我的应用程序的主网格中,一切正常。
public MainPage() : base(true)
{
this.InitializeComponent();
MainPageGrid.Children.Add(new CustomCursor());
}
但是当弹出窗口打开时,它会超出我的自定义光标。无论如何我可以设置组件的Z索引(或类似的东西),以使它成为我现代应用程序中最重要的可视组件吗?
答案 0 :(得分:1)
我建议使用实际的自定义光标。我认为this article看起来像是使用这些的一个体面的介绍。您还可以查看this question以获取有关更改游标的一些提示。除此之外 - 我不认为你可以告诉随机弹出窗口何时打开。您可以使用VisualTreeHelper.GetOpenPopups()
进行民意调查,然后执行一些操作以使您的弹出窗口显示在最前面(可能只是重新打开会起作用,或者您可能需要每次都创建一个新的)但这可能不会给出您具有良好的用户体验或性能。您还可以找出可以显示ComboBoxes
,Flyouts
等弹出窗口的所有事件,但这听起来很痛苦。最好创建一个附加行为,您可以将其附加到所有此类popup-source-elements,以触发XAML呈现的自定义光标的z-index修复...
答案 1 :(得分:0)
无需将组件实现为自定义游标,因为可以覆盖最大大小限制: How to override maximum 32x32 mouse size in Windows like this program can