代码之家  ›  专栏  ›  技术社区  ›  Robert Harvey

如何使用打包图标作为鼠标光标?

  •  1
  • Robert Harvey  · 技术社区  · 6 年前

    我有下面的代码,我用它来提供拖放操作的鼠标光标反馈。它使用本地游标文件。

    private void UserControl_GiveFeedback(object sender, GiveFeedbackEventArgs e)
    {
        if (e.Effects == DragDropEffects.None)
        {
            e.UseDefaultCursors = true;
            e.Handled = true;
            return;
        }
    
        if (cursor == null)
        {
            StreamResourceInfo s = Application.GetResourceStream(new Uri(@"pack://application:,,,/Schedule/Week/ContentCopy.cur", UriKind.RelativeOrAbsolute));
            cursor = new Cursor(s.Stream);
            Mouse.SetCursor(cursor);
            e.UseDefaultCursors = false;
        }
        e.Handled = true;
    }
    

    现在我想更改此代码以使用 Material Design in Xaml library

    我可以在代码中得到这样的图标:

    using MaterialDesignThemes.Wpf;
    
    var icon = new PackIcon { Kind = PackIconKind.DocumentCopy };
    

    但我不知道如何将其转换为适合 Cursor

    1 回复  |  直到 6 年前
        1
  •  1
  •   mm8    6 年前

    A PackIcon 是一个 Control Path 元素,它不能直接用作游标。

    您可以做的是尝试从 PackIcon公司 使用@Ray Burns的元素 ConvertToCursor 方法来自 here .

    另一种选择是简单地对图标进行屏幕截图,将其保存为图像,然后使用一些工具从中创建一个光标。网上有很多“将png转换为光标”和类似的工具。