Я не знаю, как снимок экрана, но я подозреваю, что UI-Thread не удалил весь контент, и поэтому TakeFullScreenshot
видит остатки вашего приложения.
Я бы попытался подождатьпока ваше приложение не выполнит всю необходимую работу с пользовательским интерфейсом, а затем запустит операцию TakeFullScreenshot
.
Запустите операцию ScreenShot с помощью Dispatcher
:
Hide();
Dispatcher.BeginInvoke(new Action(delegate {
fullScreenshot = _cropper.TakeFullScreenshot();
Show();
}), System.Windows.Threading.DispatcherPriority.ContextIdle, null);