Tenemos una página WPF con un control de usuario donde utilizamos un BitmapCache - cuando tratamos de borrar este elemento actualizando la propiedad (Enlace de Datos) con un Camino vacío (Nuevo Camino()), no está completamente refrescado/despejado. Si cambio el tamaño de la ventana un poco, el área donde está activada la BitmapCache está completamente borrada.El BitmapCache de WPF no está completamente borrado
¿Hay algo especial que hacer para borrar/actualizar un elemento que utiliza BitmapCache?
Este es nuestro código:
<me:ScrollViewer
RenderedWaves="{Binding RenderedWaves}"
ItemTemplate="{DynamicResource DataTemplateForWaveItem}"
ItemsPanel="{DynamicResource ItemsPanelTemplateForWaveItems}"
CacheMode="BitmapCache" />
pensé que me fijo, pero no funciona todo el tiempo ...
Este código para establecer la ruta doesn' t actualizar el BitmapCache inmediatamente:
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
Y este código actualiza a veces:
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
¿Puede decirnos un poco más? ¿Por qué tan complicado? –
Si yo fuera un apostador, diría que tienes problemas con las tarjetas vidya. ¿Puedes dar un ejemplo mínimo de repros? – Will
Puede invocar InvalidateVisual() desde el código subyacente, para ver si eso ayuda – ekholm