2017-09-26 7 views
-2

を投げますMediaElement.Sourceは、私はWPFアプリケーションを書いていると私は<strong>のMediaElement</strong> -Propertyが<strong>ViewmodelVideos</strong>と呼ばれるクラスでのVideoPlayer</strong><strong>と呼ばれました。 'System.InvalidOperationExceptionが'

私は

ViewModelVideos.VideosPlayer.Source = new Uri(text); 

を言うとき、私は例外を取得:

Exception thrown: 'System.InvalidOperationException' in WindowsBase.dll 

ザッツが動作しない理由を私は理解することはできません。何か案は?

編集:

「テキストは」私は私のブラウザに置くことができる有効なURLであり、それは動作します。いいえ、HTTPS、簡単なのhttp:// ...

+1

た奇妙に聞こえます。ビューモデルにはビュー要素が含まれてはいけません。私の推測では、UIスレッドの外で呼び出しを行っているということです。例外メッセージとは何ですか? – Clemens

+0

@Clemens例外メッセージを受け取る方法を教えてください。プログラムは停止せず、例外メッセージ 'Exception thrown: 'WindowsBase.dllの' System.InvalidOperationException 'が出力ウィンドウに表示されます。その周りにもキャッチしようとすることはありません。 – murkr

+0

@Clemensは、Uiスレッドの外で呼び出しを行うことについての発言は現れているようです。あなたはUIのスレッドの外側からソースを設定する方法を知っていますか? – murkr

答えて

0

@Clemensコメントはトリックでした:

問題は、私は、UIスレッドの外に呼び出しをしていたこと、ありませんでした。

ソリューションは、ビューモデルでのMediaElementを持つ

ViewModelVideos.VideosPlayer.Dispatcher.Invoke(() => ViewModelVideos.VideosPlayer.Source = new Uri(text)); 
関連する問題

 関連する問題