我有一個通過VisualBrush完成的縮略圖預覽。 Preview是一個ItemsControl,其中包含其他元素RichTextBox。從屏幕上的控件分離後,RichTextBox文本在VisualBrush中消失
var preview = new VisualBrush(itemsControl, ViewboxUnits = BrushMappingMode.Absolute,
Viewbox = Rect(controlSize),
Stretch = Stretch.Uniform);
當ItemsControl的是應用程序可視化樹一切的部分預覽和控制自己顯示得很好,但是當我從應用程序可視化樹(如canvas.Remove(ItemsControl中))的RichTextBox控制成爲ItemsControl中刪除在預覽(VisualBrush)中不可見,而其他所有控件都照常顯示。
public void SetActiveControl(ItemsControl newItemsControl) {
canvas.Children.Remove(currentItemsControl);
canvas.Children.Add(newItemsControl);
currentItemsControl = newItemsControl;
}
我比較了RichTextBox從應用程序可視化樹中分離出來之前和之後的屬性。區別在於屬性IsLoaded(在TRUE之前,在FALSE之後)和IsVisible(在TRUE之前,在FALSE之後)。但其他元素(例如路徑)具有相同的差異,並且仍能正確顯示在預覽中。
我無法掌握如何做canvas.Remove(itemsControl)隱藏RichTextBox,但保持其他控件!任何想法將不勝感激!
Freeze無法在VisualBrush上正常工作 – Alfa07 2012-04-06 08:11:34