BitmapCache を使用するユーザー コントロールを含む WPF ページがあります。空のパス (New Path()) でプロパティ (データ バインディング) を更新してこの要素をクリアしようとすると、完全に更新/クリアされません。ウィンドウ サイズを少し変更すると、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