RenderTargetBitmap에 문제가 있습니다. 백그라운드 스레드에서 바운드 속성을 변경 한 후에도 지속적으로 업데이트 된 렌더링을 가져올 수 없습니다.WPF RenderTargetBitmap이 백그라운드 스레드 변경에서 Binding 값을 업데이트했는지 확인합니다.
// Update a property on an INotifyPropertyChanged view model
// This runs on a background thread
viewModel.SomeBoundProperty += 10;
// Flush dispatcher queue (from http://stackoverflow.com/a/2596035/612510)
_lcd.Dispatcher.Invoke(() => {}, System.Windows.Threading.DispatcherPriority.Loaded);
// Render the updated control
_lcd.Dispatcher.Invoke(() =>
{
_lcd.Measure(new System.Windows.Size(240, 160));
_lcd.Arrange(new System.Windows.Rect(0, 0, 240, 160));
_lcd.UpdateLayout();
_renderTarget.Render(_lcd);
}
아아, 약 반 시간 나는 컨트롤이 새 값으로 업데이트되기 전에 렌더링지고있어, 그리고 나머지 절반은 제대로 업데이트 : 여기
내가 가진 것입니다.
내가 알기로 WPF는 속성 변경 알림을 UI 스레드에 자동으로 전달합니다. 렌더링을하기 전에 이러한 파견 된 알림이 모두 처리되도록하려면 어떻게해야합니까? SomeBoundProperty
이 Dispatcher 스레드에서 업데이트되었지만이 특정 응용 프로그램에 이상적이지 않은 경우이 코드는 올바르게 작동합니다.
제안 사항?