У меня есть программа, в которой я использую Canon EDSDK. Я делаю 40 фотографий в L oop (всегда с ожиданием 3 сек. После каждой фотографии). Теперь моя проблема: после 10-го или 11-го изображения мой холст не показывает изображение, оно становится белым. После 2 или 3 изображений он снова показывает изображение, а затем снова становится белым для 1 или 2 изображений ... Когда я смотрю в отладчик, Canvas.Background = MyPicture, поэтому проблема не возникает, значение верное.
Вот некоторый код (событие готово к загрузке с основной камеры), поэтому, если у моей камеры есть что-то для загрузки, она загружает изображение в CANVAS после загрузки (событие загрузки, которое я сделал в другом классе, так что не удивляйтесь ^^)
public void MainCamera_DownloadReady(Camera sender, DownloadInfo Info)
{
try
{
Dispatcher.Invoke(() =>
{
try
{
Thread.Sleep(1100);
brush.ImageSource = new BitmapImage(new Uri($@"C:\Fotos\Papierkorb\TMP\{data.timeStamp}\Animation\{mc.artikelnummer.Split('_')[0]}_00_{(mc.animationsNummer - 1).ToString("00")}.jpg", UriKind.Relative));
LVCanvas.Background = brush;
}
catch (Exception ex)
{
//LoadPicsInListView();
sentry.BugRepport(ex.ToString(), ex);
}
});
Dispatcher.Invoke(() =>
{
File.Copy($@"C:\Fotos\Papierkorb\TMP\{data.timeStamp}\Animation\{mc.artikelnummer.Split('_')[0]}_00_{(mc.animationsNummer - 1).ToString("00")}.jpg", $@"C:\Fotos\{mc.artikelnummer}\{mc.artikelnummer.Split('_')[0]}\{mc.artikelnummer.Split('_')[0]}_00_{(mc.animationsNummer - 1).ToString("00")}.jpg");
LoadPicsInListView();
});
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
sentry.BugRepport(ex.ToString(), ex);
}
}
Xaml:
<Canvas Height="560" Width="840" x:Name="LVCanvas" Background="LightGray" HorizontalAlignment="Left" Margin="50,0,0,0" >