Estoy usando XamlReader
con éxito para cargar un archivo xaml y crear un FrameworkElement
para trabajar.Enlaces no aplicados a xaml dinámicamente cargados
El xaml estoy de carga tiene expresiones de enlace en ella, tales como:
<TextBlock Text="{Binding DataContextTextProperty}" />
Si coloco el FrameworkElement vuelva de XamlReader.Load()
en una ventana de WPF, la unión todo trabaja muy bien. Sin embargo, en este caso estoy usando Laurent Bugnion's excellent article on creating PNGs from WPF/XAML. Dado que el resultado de XamlReader.Load()
se escribe directamente en un archivo PNG a través de VisualBrush
, parece que se omiten las mecánicas necesarias de WPF para invocar expresiones de enlace.
Esto me lleva a creer que las encuadernaciones reales no se están invocando simplemente llamando al XamlReader.Load()
, o que no están funcionando debido a algo que no sé hacer porque no hay un árbol visual hasta agrega el FrameworkElement
a un árbol visual existente o algo así.
¿Hay algo que pueda hacer para asegurar que se invoquen estos enlaces?
Muchas gracias de antemano.
Creo que se necesita un diseño y un pase de representación para que una Vista se pueda grabar como una imagen y solo es posible si la cargamos en un árbol visual. Corrígeme si estoy equivocado. Aunque XamlWriter con FlowDocument es una historia un poco diferente. –
@AngelWPF Pude resolverlo y he publicado una respuesta a continuación. Parece que se está comportando como yo quiero, por lo que siempre que no haya algún error ingenuo que haya cometido, voy a aceptarlo. No puedo decirte lo aliviado que estoy de que esto funcione ... –