これが私の状況です。MVC パターンが配置されている Windows バックグラウンドからの最初の SL アプリケーションを開始しています。私はそのパターンを利用できると考えているので、3 つのプロジェクトで SL アプリケーション (ソリューション) の作成に取り掛かります --> 1 つはモデル (以前のビジネス オブジェクト)、SL アプリ (SL を選択すると自動的に生成されます) を保持します。プロジェクト)、および 1 つの SL.Web プロジェクト (SL プロジェクトを選択すると自動的に生成されます)。
私が行った手順は次のとおりです。空白のグリッドを xaml ファイルにドロップし、サービスを作成しましたが、問題なく認識されています。「Silverlight 対応の WCF サービス」を Web プロジェクトに追加し、プロジェクト内で「モデル」プロジェクトを参照しました。[OperationContract] 内に、次のメソッド (サービス) を作成しました。
[OperationContract]
public EmployeeCollection GetEmployees()
{
EmployeeCollection employees = Model.EmployeeCollection.GetAllEmployees();
return employees;
}
これをデバッグしてブレークポイントを設定すると、従業員の復帰に関するデータが表示されるため、データが返されていることがわかります。
さて、私の page.xaml.cs ファイルでは、グリッドが何らかの形で取り込まれていないように見えますが、その理由はありません。
次のスニペットがあります。
void MyWebService_GetEmploteesCompleted(object sender, EmployeeWebService.GetEmployeesCompletedEventArgs e)
{
dataGrid.ItemsSource = e.Result;
}
他にどこを見ればいいですか?何が欠けている可能性がありますか?BLL (モデル) を使用するには、他のコード スニペットを追加する必要がありますか?
アドバイスをありがとう。
=============================
ところで、デバッグ中に [Autos] ウィンドウで、_GetEMployeesCompleted() に次の値が表示されていることに気付きました。
dataGrid.ItemSource ........... Count = 30 e.Result ......... Count = 30
DataGrid に値が表示されないのはなぜですか?