Реактивный компонент не меняет состояние, когда реагирующий маршрутизатор перемонтирует его

Существует более простой способ, чем управлять отображением курсора самостоятельно или с помощью 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 (формат файла) .

1
задан pesho hristov 18 January 2019 в 08:44
поделиться

1 ответ

Это должно исправить вашу проблему.

ReactDOM.render(
      <Provider store={store}>
        <Router>
          <Switch>
            <Route exact path="/" component={ListPage}/>
            <Route path="/edit/:itemId" component={ItemPage}/>
          </Switch>
        </Router>
      </Provider>,
   document.getElementById('root')
);
0
ответ дан Vaibhav Singh 18 January 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: