Ich habe in eine Straßensperre gelaufen scheinen. Wir verwenden MVVM mit Prism und verfügen über eine Ansicht, für die ein Ink Canvas erforderlich ist. Ich habe eine StrokeCollection erstellt, die von meinem ViewModel an die View gebunden ist. Ich bin in der Lage, die Sammlung von meinem Viewmodel zu setzen, aber Änderungen werden dem ViewModel nicht übergeben, während der Benutzer zeichnet. Gibt es eine Möglichkeit, dies zum Funktionieren zu bringen?MVVM Bindung an InkCanvas
mein Eigentum in meinem Ansichtsmodell ist wie folgt:
private StrokeCollection _strokes;
public StrokeCollection Signature
{
get
{
return _strokes;
}
set
{
_strokes = value;
OnPropertyChanged("Signature");
}
}
Hier meine XAML Bindungslinie ist:
<InkCanvas x:Name="MyCanvas" Strokes="{Binding Signature, Mode=TwoWay}" />
Aus irgendeinem Grund scheint die InkCanvas benachrichtigt nie das Ansichtsmodell über jede Änderung.
Ich fehlte die INotifyCollectionChanged Abschnitt. Ich hatte alles andere einschließlich der Instantiierung der StrokeCollection. Danke Kent. – cjibo
Das funktioniert gut. Ich finde es interessant, dass die InkCanvas immer noch zeichnen, wenn _stokes selbst wenn sie gebunden sind, null ist. – CRice