Witam,

Chce utworzyć takiego mini painta w WPF z zachowaniem MVVM:

Tak więc kiedy zmieniam InkCanvasEditingMode to stworzyłem klasę:

Kopiuj
 class InkEditingMode : INotifyPropertyChanged
    {
        private InkCanvasEditingMode _EditingMode;
        public InkCanvasEditingMode EditingMode
        {
            get
            {
                return _EditingMode;
            }
            set
            {
                _EditingMode = value;
                PropertyChanged(this, new PropertyChangedEventArgs("EditingMode"));
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }

a moje płótno InkCanvas ma powiązanie poprzez Binding:
<InkCanvas x:Name="inkCanvas" Height="440" EditingMode="{Binding Path=EditingMode}"></InkCanvas>

No i potem mam takie wywołanie:

Kopiuj
 InkEditingMode inkEditingMode = new InkEditingMode();
        public MainWindow()
        {
            InitializeComponent();     

            this.DataContext = inkEditingMode;
            
        }


        private void BDrawing(object sender, RoutedEventArgs e)
        {
            inkEditingMode.EditingMode = InkCanvasEditingMode.Ink;
        }

A jak zmienić np. Property InkCanvasa przy pomocy INotifyPropertyChanged bo EditingMode ma odrębną klasę InkCanvasEditingMode, ale np. Background to Property czy wystarczy, że napiszę tak?

Kopiuj
 private void BFill(object sender, RoutedEventArgs e)
        {
            inkCanvas.Background = //Tu będzie jakieś pole, które przechowuje kolor.