BitmapCacheを使用するユーザーコントロールを持つWPFページがあります。空のパス(New Path())でプロパティ(データバインド)を更新してこの要素をクリアしようとすると、完全にリフレッシュ/クリアされません。ウィンドウサイズを少し変更すると、BitmapCacheがアクティブな領域が完全にクリアされます。WPFのBitmapCacheが完全にクリアされていない
BitmapCacheを使用する要素のクリア/リフレッシュに特別なことはありますか?
これが私たちのコードです:
<me:ScrollViewer
RenderedWaves="{Binding RenderedWaves}"
ItemTemplate="{DynamicResource DataTemplateForWaveItem}"
ItemsPanel="{DynamicResource ItemsPanelTemplateForWaveItems}"
CacheMode="BitmapCache" />
私はそれを固定し、それは毎回ではない作品と思った...パスを設定するために、
このコードは、」doesnの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
もう少し詳しくお聞かせください。なぜそんなに複雑なの? –
もし私が賭けの男だったら、あなたはvidyaカードの問題があると言いたいと思います。あなたはreprosの最小限の例を提供できますか? – Will
コードビハインドからInvalidateVisual()を呼び出すと、それが役立つかどうかを確認できます – ekholm