*アップデート***
私の最初の説明 (現在は削除されています) は実際の状況ではありませんでした。問題の簡易版です。
完全な状況:
iPhoneフォトギャラリーから選択した画像でUIImageView内のUIImageを変更したい。このために、MediaPicker (Xamarin ライブラリの一部) を使用しました。
ボタンをクリックすると、Mediapicker が作成されます。次に、フォト ギャラリーから写真を撮る関数を呼び出します。このメソッドは 2 つの引数を必要とします。Mediapicker とコールバック関数。--> PictureFromGallery(mediaPicker, CallbackPhotoMade); このコールバック関数は、ユーザーが写真ライブラリでアップロードする写真を選択した後にトリガーされます。
このコールバック関数内で、UIImageView の UIImage を変更したいと考えています。
void CallbackPhotoMade(MediaFile obj)
{
imageviewPhoto1.Image = UIImage.FromFile("Images/image2.PNG");
//To test I just use a file from a folder in my project
}
上記の関数 (CallbackPhotoMade) をブレークポイントし、テキスト ".Image =" にマウスを置くと、次のメッセージが表示 されます。 UI スレッド
UIImageView内のUIImageが変わらないのはこれが問題だと思います。
誰もこれを解決する方法を知っていますか?
*UPDATE2*** 別のトピックで、次のように CheckForIllegalCrossThreadCalls を false に設定することで解決できることを読みました。
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
UIApplication.CheckForIllegalCrossThreadCalls = false;
}
残念ながらイメージは変わりません。ただし、特定のエラーは消えました。