Sto utilizzando XamlReader
correttamente per caricare un file xaml e creare un FrameworkElement
con cui lavorare.Associazioni non applicate a xaml caricato dinamicamente
XAML Sono carico ha espressioni vincolanti in esso come ad esempio:
<TextBlock Text="{Binding DataContextTextProperty}" />
Se metto il FrameworkElement torno da XamlReader.Load()
in una finestra WPF, il legame tutto funziona benissimo.
Tuttavia, in questo caso sto usando Laurent Bugnion's excellent article on creating PNGs from WPF/XAML. Poiché il risultato di XamlReader.Load()
viene scritto direttamente su un PNG tramite un VisualBrush
, sembra che i meccanismi necessari di WPF per richiamare le espressioni di collegamento siano ignorati.
Questo mi porta a credere che i binding attuali non vengano effettivamente richiamati solo chiamando lo XamlReader.Load()
, o che non stiano funzionando a causa di qualcosa che non so di fare con il fatto di non essere un albero visivo fino aggiungi lo FrameworkElement
a un albero visivo esistente o qualcosa del genere.
C'è qualcosa che posso fare per garantire che questi collegamenti vengano richiamati?
Molte grazie in anticipo.
Penso che sia necessario un layout e il rendering pass per una vista da poter scrivere come un'immagine e ciò è possibile solo se lo cariciamo su un albero visivo. Correggimi se sbaglio Sebbene XamlWriter con FlowDocument sia una storia leggermente diversa. –
@AngelWPF Sono riuscito a risolverlo e ho postato una risposta qui sotto. Sembra che si stia comportando come voglio, quindi a patto che non ci sia un errore ingenuo che ho fatto, ho intenzione di andare con esso. Non posso dirvi quanto sono sollevato per farlo funzionare ... –