XamlReader
을 사용하여 xaml 파일을로드하고 함께 작업 할 FrameworkElement
을 만듭니다.동적으로로드 된 xaml에 바인딩이 적용되지 않았습니다.
I로드와 같은 그것에 바인딩 식을 가지고있어 XAML : 나는 나는 WPF 창으로 다시 XamlReader.Load()
에서 얻을 FrameworkElement를 배치하면
<TextBlock Text="{Binding DataContextTextProperty}" />
은, 모든 바인딩하는 것은 잘 작동합니다.
그러나이 경우에는 Laurent Bugnion's excellent article on creating PNGs from WPF/XAML을 사용하고 있습니다. XamlReader.Load()
의 결과는 VisualBrush
을 통해 PNG에 직접 작성되므로 바인딩 표현식을 호출하는 데 필요한 WPF 메커니즘이 무시 된 것 같습니다.
이것은 실제 바인딩이 실제로 XamlReader.Load()
을 호출하는 것만으로 호출되지 않는다고 믿습니다. 또는 내가 시각 트리가 아닌 것으로서 알지 못하는 무언가 때문에 작동하지 않는다고 생각합니다. 기존의 시각적 트리 또는 기타에 FrameworkElement
을 추가합니다.
이러한 바인딩을 호출 할 수있는 방법이 있습니까?
미리 감사드립니다.
View로 이미지를 쓸 수있게하려면 레이아웃과 렌더링 패스가 필요하며 시각적 트리로로드 할 때만 가능하다고 생각합니다. 내가 틀렸다면 나를 바로 잡아라. FlowDocument가있는 XamlWriter가 조금 다른 이야기이지만. –
@AngelWPF 나는 그것을 해결할 수 있었고 아래에 대답을 게시했다. 그것은 내가 원하는 방식으로 행동하는 것처럼 보이기 때문에, 내가 만든 순진한 실수가 아니라면, 함께 갈 것입니다. 나는 이것이 얼마나 효과가 있는지 안심할 수 없다. –