로드 블록을 만났을 것 같습니다. 우리는 Prism과 함께 MVVM을 사용하고 Ink Canvas가 필요한 View를 가지고 있습니다. 내 ViewModel에서 View로 바인딩되는 StrokeCollection을 생성했습니다. 내 viewmodel에서 컬렉션을 설정할 수 있지만 사용자가 그릴 때 변경 사항이 ViewModel에 표시되지 않습니다. 이 일을 할 수있는 방법이 있습니까? 다음과 같이 내 뷰 모델에MVVM InkCanvas에 바인딩
내 재산이다 : 어떤 이유
<InkCanvas x:Name="MyCanvas" Strokes="{Binding Signature, Mode=TwoWay}" />
분명히 InkCanvas 결코 변화의 뷰 모델은 통지하지 :
private StrokeCollection _strokes;
public StrokeCollection Signature
{
get
{
return _strokes;
}
set
{
_strokes = value;
OnPropertyChanged("Signature");
}
}
가 여기 내 XAML 바인딩 라인입니다.
INotifyCollectionChanged 섹션이 누락되었습니다. 나는 StrokeCollection을 인스턴스화하는 것을 포함하여 모든 것을 가지고있었습니다. 감사합니다. – cjibo
이것은 잘 작동합니다. _stokes가 null 인 경우에도 InkCanvas가 여전히 재미있는 것을 알 수 있습니다. – CRice