В моем приложении WPF у меня есть некоторая функциональность рисунка. Я решил это использование Холста и обработку жестов мыши вручную, и я также добавляю оттянутые Штрихи (обернутый в InkPresenter) к этому Холсту.
Используя Смешение я внезапно обнаруживаю, что существует что-то названное InkCanvas. Согласно Смешению это - управление, которое "Определяет область, которая получает и отображает штрихи чернил". таким образом, для того, звучит необходимым, что я делаю. Но все, кажется, хорошо работает с помощью простого Холста..
Так; как InkCanvas отличается от простого Холста, и почему я должен принять решение использовать это вместо этого?
Они действительно предназначены для двух разных целей. Canvas
предназначен для верстки. Специально для более точного контроля макета с помощью абсолютного позиционирования. InkCanvas
, как известно, предназначен для захвата и отображения штрихов.
То, что вы делаете, просто прекрасно, но InkCanvas
имеет некоторые приятные дополнительные функции, такие как EditMode
среди других. Это предназначено для того, чтобы избавить вас от написания многих вещей, которые вам пришлось бы делать вручную, используя Canvas
. Использование Canvas
— это подход вашего собственного типа, где InkCanvas
— это подход, предварительно встроенный в него.
InkCanvas обрабатывает события мыши, чтобы вы рисовали на холсте. Он также имеет эту функциональность: