У меня есть предварительный просмотр миниатюр, который выполняется через VisualBrush. Предварительный просмотр элемента ItemsControl, который содержит другие элементы RichTextBox.Текст RichTextBox исчезает в VisualBrush после отсоединения от контроля на экране
var preview = new VisualBrush(itemsControl, ViewboxUnits = BrushMappingMode.Absolute,
Viewbox = Rect(controlSize),
Stretch = Stretch.Uniform);
Когда ItemsControl является частью приложения визуального дерева все для предварительного просмотра и управления сами отображения просто отлично, но когда я удалить ItemsControl из визуального дерева приложений (например, canvas.Remove (ItemsControl)) управления RichTextBox стать невидимый в предварительном просмотре (VisualBrush), в то время как все остальные элементы управления отображаются как обычно.
public void SetActiveControl(ItemsControl newItemsControl) {
canvas.Children.Remove(currentItemsControl);
canvas.Children.Add(newItemsControl);
currentItemsControl = newItemsControl;
}
Я сравнивал свойства RichTextBox до и после его отсоединения от визуального дерева приложения. Разница заключается в свойствах IsLoaded (до TRUE, после FALSE) и IsVisible (до TRUE, после FALSE). Но другие элементы (например, Path) имеют одинаковые отличия и по-прежнему отображаются в предварительном просмотре правильно.
Я не могу понять, как делать canvas.Remove (itemsControl) скрывает RichTextBox, но сохраняет другие элементы управления! Благодарим за любую идею!
Замораживание не работает на VisualBrush – Alfa07