Использование SkiaSharp в WPF с соблюдением MVVM

304
23 сентября 2017, 20:43

Цель: разработка простого векторного редактора на WPF с использованием SkiaSharp, в частности размещение SKElement в окне и рисование на нем прямых линий, текста и изображений. Вопрос: как это правильно реализовать с соблюдением MVVM? Мои варианты:

  1. Использовать привязку к событиям PaintSurface, MouseEvents и так далее через команды. Рисование будет происходить в ViewModel, но тогда во ViewModel будут использоваться классы SkiaSharp.
  2. Наследовать от SKElement свой Control, прописать в нем свойства для привязки коллекции графических элементов и необходимых настроек рисования, переопределить OnPaintSurface и реализовать рисование в нем. Тогда во ViewModel будет ObservableCollection с элементами для отрисовки не зависящими от SkiaSharp, но в наследнике SKElement появиться много code-behind. Ну и в этом варианте события типа MouseEvents придется обрабатывать также в code-behind унаследованного от SKElement класса.
READ ALSO
Не происходит нажатие на элемент формы WebBrowser

Не происходит нажатие на элемент формы WebBrowser

При нажатии на данную кнопку, должен произойти переход на другую страницуИспользовать url нельзя, потому что переключаются страницы без изменения...

312
вопрос про реализацию сервиса/сайта

вопрос про реализацию сервиса/сайта

Подскажите, как реализовать описанное нижеЕсли можно с кратким описанием

339
C# service не могу понять, где здесь утечка памяти

C# service не могу понять, где здесь утечка памяти

Создал сервис с помощью шаблона, сократил код до минимума, и всё равно за несколько минут сервис уже не 4, а 8 мб занимает и продолжает растиВот...

303
Динамический выбор хранилища из UI .net core 2

Динамический выбор хранилища из UI .net core 2

Есть 2 Бд 1 реляцаонная PostgreSql другая документо-ориентированая MongoDbИ есть реализация Интерфейсов для работы с postgreSql и MongoDb

338