私はWP7アプリケーションを開発しています。私は予想外の動作に出会った。私はいくつかのページで私のアプリでSilverLightのtoolktitからPerformanceProgressBarを使用します。これらのPerformanceProgressBarsはIsBusyというViewModelプロパティにバインドされています。各ページには独自のViewModelがあります。PerformanceProgressBar "無効なクロススレッドアクセス"例外
....<toolkit:PerformanceProgressBar VerticalAlignment="Top" HorizontalAlignment="Left" IsIndeterminate="{Binding IsBusy}" Visibility="{Binding IsBusy, Converter={StaticResource BoolToVisibilityConverter}}"
/>......
public bool IsBusy
{
get
{
return this._isBusy;
}
set
{
if (value == this._isBusy)
{
return;
}
this._isBusy = value;
RaisePropertyChanged("IsBusy");
}
}
私はIsBusy値を変更すると、私は "無効なクロススレッドのアクセス" の例外を取得します。
アイデア?
あなたの推測は正しいです。私はAsync webserviceメソッドを呼び出しています。ここでは、IsBusyプロパティが結果CallBackでfalseに変更されています。 IMarshaledInvokeの提案をもっと詳しく説明できますか? –