Существует более простой способ, чем управлять отображением курсора самостоятельно или с помощью Visual Studio для создания множества пользовательских курсоров.
Если у вас есть FrameworkElement, вы можете построить из него курсор, используя следующий код:
public Cursor ConvertToCursor(FrameworkElement visual, Point hotSpot)
{
int width = (int)visual.Width;
int height = (int)visual.Height;
// Render to a bitmap
var bitmapSource = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Pbgra32);
bitmapSource.Render(visual);
// Convert to System.Drawing.Bitmap
var pixels = new int[width*height];
bitmapSource.CopyPixels(pixels, width, 0);
var bitmap = new System.Drawing.Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
for(int y=0; y
Обратите внимание, что размер вашего FrameworkElement должен быть стандартным размером курсора (например, 16x16 или 32x32), например:
...
Он будет использоваться следующим образом:
someControl.Cursor = ConvertToCursor(customCursor, new Point(0.5, 0.5));
Очевидно, что ваш FrameworkElement может быть элементом
, если у вас есть существующее изображение, или вы можете рисовать все, что вам нравится, используя встроенные инструменты рисования WPF.
Обратите внимание, что Подробные сведения о формате .cur можно найти в ICO (формат файла) .
Это должно исправить вашу проблему.
ReactDOM.render(
<Provider store={store}>
<Router>
<Switch>
<Route exact path="/" component={ListPage}/>
<Route path="/edit/:itemId" component={ItemPage}/>
</Switch>
</Router>
</Provider>,
document.getElementById('root')
);