問題は、長時間の操作ゲッターを UI コントロールにバインドすることです。たとえば、次のようなプロパティがあるとします。
public string ButtonText
{
get
{
Task.Delay(3000).Wait();
return _buttonText;
}
set
{
_buttonText = value;
}
}
XAML で UI コントロールにバインドしContent="{Binding ButtonText}"ます。UI スレッドはブロックされます。Binding.IsAsyncWPF にはバックグラウンドでバインドされたデータをロードできるプロパティがありますが、Metro フレームワークにはそのようなプロパティはありません。
メトロアプリケーションで非同期バインディングを作成する方法について誰か考えがありますか?