Witam,
Mam problem z wyświetleniem obrazu z kamery w aplikacji WPF (moja pierwsza aplikacja w WPF, zawsze korzystałem z WinForm).
Wcześniej napisałem identyczną aplikację w WinForm.
Zamiast Image.Source = bitmap (WPF), korzystałem z PictureBox.Image = bitmap i nie było żadnego problemu by wyświetlić obraz.
Teraz dość że bitmape muszę zamienić na BitmapSource (nie wiem czy dobrze rozumuje), to jeszcze kontrolkę Image widzi jako oddzielny wątek i wyrzuca błąd (obraz miało wrzucić w Evencie z mojej zewnętrznej biblioteki).
Kończą mi się pomysły na to co robię źle, pomoże ktoś?
O to kod:

private void OpenCameraButton_Click(object sender, RoutedEventArgs e)
{

        try
        {
            cam.Open(_listaKamer.Values[FindedCamera_ComboBox.SelectedIndex]);
            cam.AddImageAquiredEvent(camera =>
            {

                    Camera.Core cameraCore = (Camera.Core)camera;


                    Bitmap bitmap = cameraCore.ByteToImage();
                    Image.Source = ConvertBitmap(bitmap);
                
                
            });
            

            if (cam.IsOpened())
            {
                CloseCamera_Button.IsEnabled = true;
                StartAQ_Button.IsEnabled = true;
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Error");
        }
        
    }

    public BitmapSource ConvertBitmap (System.Drawing.Bitmap bitmap)
    {
        var bitmapData = bitmap.LockBits(
            new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
            System.Drawing.Imaging.ImageLockMode.ReadOnly, bitmap.PixelFormat);

        var bitmapSource = BitmapSource.Create(
            bitmapData.Width, bitmapData.Height, 96, 96, PixelFormats.Gray8, null,
            bitmapData.Scan0, bitmapData.Stride * bitmapData.Height, bitmapData.Stride);

        bitmap.UnlockBits(bitmapData);
        return bitmapSource;
    }
 

Tu jest problem z wątkami:
<code class="c#"> Image.Source = ConvertBitmap(bitmap); 

W WinForm miałem tak i było ok:
PictureBox1.Image = bitmap