Witam,
Chce utworzyć takiego mini painta w WPF z zachowaniem MVVM:
Tak więc kiedy zmieniam InkCanvasEditingMode to stworzyłem klasę:
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:
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?
private void BFill(object sender, RoutedEventArgs e)
{
inkCanvas.Background = //Tu będzie jakieś pole, które przechowuje kolor.