Tôi dường như đã chạy vào một khối đường. Chúng tôi đang sử dụng MVVM với Prism và có Chế độ xem yêu cầu Canvas mực. Tôi đã tạo một StrokeCollection đang bị ràng buộc từ ViewModel của tôi đến View. Tôi có thể thiết lập các bộ sưu tập từ viewmodel của tôi nhưng những thay đổi không đến với ViewModel trong khi người dùng vẽ. Có cách nào để làm cho công việc này?MVVM ràng buộc với InkCanvas
tài sản của tôi trong ViewModel của tôi là như sau:
private StrokeCollection _strokes;
public StrokeCollection Signature
{
get
{
return _strokes;
}
set
{
_strokes = value;
OnPropertyChanged("Signature");
}
}
Đây là XAML dòng ràng buộc của tôi:
<InkCanvas x:Name="MyCanvas" Strokes="{Binding Signature, Mode=TwoWay}" />
Đối với một số lý do rõ ràng là InkCanvas không bao giờ thông báo cho ViewModel của bất kỳ sự thay đổi.
Tôi đã thiếu phần INotifyCollectionChanged. Tôi đã có mọi thứ khác bao gồm instantiating StrokeCollection. Cảm ơn Kent. – cjibo
Điều này hoạt động độc đáo. Tôi tìm thấy nó thú vị InkCanvas vẫn rút ra khi _stokes là null ngay cả khi bị ràng buộc. – CRice