WPF InkCanvas绘制矩形和椭圆

2020-01-05 09:58:57王振洲

ViewModel.cs代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Ink;
 
namespace WPF_InkCanvas
{
  class ViewModel : INotifyPropertyChanged
  {
    public event PropertyChangedEventHandler PropertyChanged;
 
    protected virtual void OnPropertyChanged(string propertyName = null)
    {
      if (PropertyChanged != null)
        PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
 
    private string meaInfo;
    public string MeaInfo
    {
      get => meaInfo;
      set
      {
        meaInfo = value;
        OnPropertyChanged("MeaInfo");
      }
    }
 
    private StrokeCollection inkStrokes;
    public StrokeCollection InkStrokes
    {
      get { return inkStrokes; }
      set
      {
        inkStrokes = value;
        OnPropertyChanged("InkStrokes");
      }
    }
  }
}

补充说明:为什么要注释掉画笔属性//FitToCurve = true,可以自行体会下不注释会是个什么效果;将InkCanvas的Strokes绑定到变量有好处,在别的窗口也能获取到这个对象的哦,因为它是在viewModel里的,传viewModel参数就可以了;椭圆绘制完成后设置InkCanvas的EdittingMode为Select就可以修改大小和形状。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。


注:相关教程知识阅读请移步到c#教程频道。