我使用XamlReader
成功加載xaml文件並創建要使用的FrameworkElement
。綁定不適用於動態加載的xaml
XAML中我加載在其綁定表達式,如:
<TextBlock Text="{Binding DataContextTextProperty}" />
如果我放在FrameworkElement的我從XamlReader.Load()
回到一個WPF窗口,結合一切工作正常。
但是,在這種情況下,我正在使用Laurent Bugnion's excellent article on creating PNGs from WPF/XAML。由於XamlReader.Load()
的結果是通過VisualBrush
直接寫入PNG,所以似乎繞過了WPF調用綁定表達式的必要機制。
這使我相信實際的綁定並不是真的只是通過調用XamlReader.Load()
來調用,或者他們沒有工作,因爲我不知道要做什麼,直到沒有視覺樹您將FrameworkElement
添加到現有的可視化樹或其他東西。
有什麼我可以做,以確保這些綁定被調用?
非常感謝提前。
我認爲一個視圖需要一個佈局和渲染通道才能作爲圖像寫入,並且只有在將其加載到可視化樹上時纔有可能。糾正我,如果我錯了。雖然帶有FlowDocument的XamlWriter是一個有點不同的故事。 –
@AngelWPF我設法解決它,並在下面發佈了答案。它看起來像我想要的那樣行事,所以提供這個並不是我曾經犯過的一個天真的錯誤,我會去處理它。我無法告訴你,我是如何得到這個工作的緩解...... –