Parece que me encontré con un bloqueo de carretera. Estamos usando MVVM con Prism y tenemos una vista que requiere un lienzo de tinta. He creado un StrokeCollection que está vinculado desde mi ViewModel a la Vista. Puedo configurar la colección desde mi modelo de vista, pero los cambios no aparecen en ViewModel mientras el usuario dibuja. ¿Hay alguna manera de hacer que esto funcione?MVVM Encuadernación a InkCanvas
Mi Propiedad en mi modelo de vista es el siguiente:
private StrokeCollection _strokes;
public StrokeCollection Signature
{
get
{
return _strokes;
}
set
{
_strokes = value;
OnPropertyChanged("Signature");
}
}
Aquí es mi XAML línea de unión:
<InkCanvas x:Name="MyCanvas" Strokes="{Binding Signature, Mode=TwoWay}" />
Por alguna razón, al parecer, los InkCanvas nunca se notifica al modelo de vista de cualquier cambio.
Me faltaba la sección INotifyCollectionChanged. Tenía todo lo demás, incluida la creación de instancias de StrokeCollection. Gracias Kent. – cjibo
Esto funciona muy bien. Me parece interesante que InkCanvas aún se dibuje cuando _stokes es nulo incluso cuando está enlazado. – CRice