Tôi đang sử dụng thành công XamlReader
để tải tệp xaml và tạo FrameworkElement
để làm việc.Các ràng buộc không áp dụng cho xaml động
Các XAML Tôi tải có biểu thức ràng buộc ở trong đó như:
<TextBlock Text="{Binding DataContextTextProperty}" />
Nếu tôi đặt FrameworkElement tôi nhận lại từ XamlReader.Load()
vào một cửa sổ WPF, các ràng buộc tất cả hoạt động tốt.
Tuy nhiên, trong trường hợp này tôi đang sử dụng Laurent Bugnion's excellent article on creating PNGs from WPF/XAML. Vì kết quả của XamlReader.Load()
được ghi trực tiếp vào PNG qua VisualBrush
, có vẻ như các cơ chế cần thiết của WPF để gọi các biểu thức ràng buộc bị bỏ qua.
Điều này khiến tôi tin rằng các liên kết thực sự không thực sự được gọi chỉ bằng cách gọi XamlReader.Load()
hoặc chúng không hoạt động vì điều gì đó mà tôi không biết làm với không phải là cây thị giác cho đến bạn thêm FrameworkElement
vào cây hình ảnh hiện tại hoặc một cái gì đó.
Có điều gì tôi có thể làm để đảm bảo các ràng buộc này được gọi không?
Rất cám ơn trước.
Tôi nghĩ rằng bố cục và hiển thị biểu tượng là bắt buộc để Chế độ xem có thể ghi được dưới dạng hình ảnh và có thể chỉ khi chúng tôi tải nó lên cây hình ảnh. Đúng nếu tôi đã sai lầm. Mặc dù XamlWriter với FlowDocument là một câu chuyện khác. –
@AngelWPF Tôi đã cố gắng giải quyết và đã đăng câu trả lời bên dưới. Dường như nó đang cư xử theo cách tôi muốn, vì vậy việc cung cấp không có một số lỗi lầm ngây thơ mà tôi đã làm, tôi sẽ đi với nó. Tôi không thể nói với bạn làm thế nào nhẹ nhõm tôi để có được điều này làm việc ... –