Threading with WPF Images (System.InvalidOperationException)

后端 未结 2 937
不知归路
不知归路 2021-01-25 06:17

I\'m using a thread to get an image from a website and shoot it back to the parent form (WPF) to display. I ran into an issue and have managed to debug it to this example:

2条回答
  •  一整个雨季
    2021-01-25 06:50

    Instead of

    if (!this.imgVideo.Dispatcher.CheckAccess())
      {
        SetImageCallback del = new SetImageCallback(SetImage);
        this.Dispatcher.Invoke(del, bmp, bmpImg);
      }
    

    try using :

    if (!App.Current.Dispatcher.CheckAccess())
                    App.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(SetImage),CustomeObjectInstance );
    

    Here Cutom object will be a wrapper class wrapping

    Bitmap bmp, BitmapImage bmpImg
    

    Obviously, your SetImage signature will change to

    SetImage(CutomObject custObj)
    

    I have not tested the code but this may solve the issue. Let us know if this works so that some poor soul can be benefitted from this post. All the best! Sid

提交回复
热议问题