紳士。SilverlightプロジェクトのMainPage.xamlには次の定義があります。
<UserControl
xmlns:model="clr-namespace:Engine.Silverlight.Web.Views;assembly=Engine.Login.Model"
d:DataContext="{d:DesignInstance Type=model:DesignTimeModel, IsDesignTimeCreatable=True}">...
また、設計時のデータバインディングに使用されるEngine.Login.Modelプロジェクトのクラス(事前に初期化されたプロパティではすべて正常に機能しますが):
public class DesignTimeModel : INotifyPropertyChanged
{
public DesignTimeModel()
{
var d = Deployment.Current.Dispatcher;
d.BeginInvoke(
() =>
{
CacheClient c = new CacheClient();
c.GetResourcesCompleted +=(s,e)=>
{
d.BeginInvoke(
() => this.Resources = e.Result);
};
c.GetResourcesAsync();
}
);
残念ながら、WCF要求の完了後にSystem.ObjectDisposedExceptionが発生しました(最初のVSインスタンスプロセスにアタッチしてVSの別のインスタンスを使用してデバッグしようとしましたが、役に立ちません-同じエラー、追加情報はありません):
System.ObjectDisposedException
Cannot access a disposed object.
Object name: 'Dispatcher'.
at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
デザインモードではディスパッチャの動作が異なると思います。VS2010XAMLデザイナーでWCFを使用してデザイン時データを取得するための問題を解決する方法を教えてください。