天天看点

2019-7-12-wpf-VisualBrush-已知问题

title author date CreateTime categories
wpf VisualBrush 已知问题 lindexi 2019-7-12 21:7:41 +0800 2018-2-13 17:23:3 +0800 WPF

本文告诉大家,visualBrush 已知 bug ,希望大家使用 VisualBrush 时可以知道

  1. 如果把 VisualBrush 绑定的是在元素加入到视觉树前,那么在元素加入到视觉树之后移除视觉树,VisualBrush 就不会自动刷新
  2. 如果把没有加入视觉树的元素加入到 VisualBrush 绑定,之后把元素加入视觉树,再移除,再加入,这时可能 VisualBrush 不再刷新
  3. 如果在 VisualBrush 获取到元素之后,设置元素的 visibility 为 Collapsed 那么 VisualBrush 不会更新布局,详细请看The VisualBrush only refresh the visual but not the layout when the Visual visibility changes
  4. 如果元素绑定 VisualBrush 然后对元素使用 RenderTargetBitmap 就会让 VisualBrush 无法使用。

解决方法,设置 VisualBrush 的 Visual 为空再设置元素

var visual = visualBrush.Visual;
visualBrush.Visual = null;
visualBrush.Visual = visual;      

参见:https://stackoverflow.com/a/3073378/6116637

https://stackoverflow.com/a/13182210/6116637