我们有一个带有用户控件的 WPF 页面,我们在其中使用 BitmapCache - 当我们尝试通过使用空路径(新路径())更新属性(数据绑定)来清除此元素时,它并没有完全刷新/清除。如果我稍微更改窗口大小,BitmapCache 处于活动状态的区域将被完全清除。
清除/刷新使用 BitmapCache 的元素有什么特别的事情要做吗?
这是我们的代码:
<me:ScrollViewer
RenderedWaves="{Binding RenderedWaves}"
ItemTemplate="{DynamicResource DataTemplateForWaveItem}"
ItemsPanel="{DynamicResource ItemsPanelTemplateForWaveItems}"
CacheMode="BitmapCache" />
我以为我修复了它,但它不是每次都有效...
此设置路径的代码不会立即更新 BitmapCache:
Protected WriteOnly Property SetGraph As Path
Set(value As Path)
If value Is Nothing Then value = GetEmptyPath()
_graph = value
OnPropertyChanged(New PropertyChangedEventArgs(PropertyNameGraph))
End Set
End Property
这段代码有时会更新它:
Protected WriteOnly Property SetGraph As Path
Set(value As Path)
UIDispatcherLocator.UIDispatcher.Invoke(Sub()
If value Is Nothing Then value = GetEmptyPath()
_graph = value
End Sub, Threading.DispatcherPriority.Background)
OnPropertyChanged(New PropertyChangedEventArgs(PropertyNameGraph))
End Set
End Property