Холст все еще белый после того, как bru sh загружен правильно - PullRequest
1 голос
/ 02 апреля 2020

У меня есть программа, в которой я использую 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" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...