Кажется, я столкнулся с дорожным блоком. Мы используем MVVM с Prism и имеем представление, для которого требуется чернильный холст. Я создаю StrokeCollection, который привязан от моего ViewModel к представлению. Я могу установить коллекцию из моей модели просмотра, но изменения не появятся в ViewModel, пока пользователь рисует. Есть ли способ сделать эту работу?MVVM Связывание с InkCanvas
Моя недвижимость в моем ViewModel выглядит следующим образом:
private StrokeCollection _strokes;
public StrokeCollection Signature
{
get
{
return _strokes;
}
set
{
_strokes = value;
OnPropertyChanged("Signature");
}
}
Вот моя XAML привязки линии:
<InkCanvas x:Name="MyCanvas" Strokes="{Binding Signature, Mode=TwoWay}" />
По какой-то причине, видимо InkCanvas никогда не уведомит ViewModel каких-либо изменений.
Мне не хватало раздел INotifyCollectionChanged. У меня было все остальное, включая создание экземпляра StrokeCollection. Спасибо, Кент. – cjibo
Это работает красиво. Мне интересно, что InkCanvas все еще рисует, когда _stokes имеет значение null, даже если привязан. – CRice