2012-04-05 2 views
2

VisualBrush를 통해 수행되는 미리보기 미리보기가 있습니다. 미리보기는 다른 요소 RichTextBox를 포함하는 ItemsControl입니다.화면의 컨트롤에서 분리 한 후 RichTextBox 텍스트가 VisualBrush에서 사라졌습니다.

var preview = new VisualBrush(itemsControl, ViewboxUnits = BrushMappingMode.Absolute, 
        Viewbox = Rect(controlSize), 
        Stretch = Stretch.Uniform); 

ItemsControl에 미리보기 및 컨트롤 자체가 잘 표시하지만 응용 프로그램 시각적 트리 (예를 들어 canvas.Remove (ItemsControl에))를 RichTextBox 컨트롤이 될로부터의 ItemsControl을 제거 할 때 응용 프로그램 시각적 트리의 모든의 일부입니다 다른 모든 컨트롤이 평소와 같이 표시되는 동안 미리보기 (VisualBrush)에서 보이지 않습니다.

응용 프로그램 비주얼 트리에서 분리 된 Beeing 전후의 RichTextBox의 속성을 비교했습니다. 차이점은 IsLoaded 속성 (TRUE 이전, FALSE 후) 및 IsVisible (TRUE 이전, FALSE 뒤)입니다. 그러나 다른 요소 (예 : 경로)는 동일한 차이가 있으며 미리보기에 올바르게 표시됩니다.

Canvas.Remove (itemsControl)가 RichTextBox를 숨기지 만 다른 컨트롤을 유지하는 방법을 파악할 수 없습니다! 어떤 아이디어라도 대단히 감사하겠습니다!

답변

2

시각 브러시를 동결시킬 수 없습니다. 따라서 시각적 트리에서 컨트롤을 분리하기 전에 VisualBrush에서 ImageBrush를 만들 수 있습니다. 다음은이를 수행하는 방법의 예입니다 : “Freeze” that VisualBrush.

+0

Freeze가 VisualBrush에서 작동하지 않습니다. – Alfa07