0

WPF クライアント、WCF サービス、Silverlight クライアント (SL 4) を使用したソリューションがあります。

WPF クライアントはスムーズに動作しますが、Silverlight の処理方法がわかりません。

これらは、Silverlight にあるコードのスニペットです。

using sl_HFClient.svc;

namespace sl_HFClient
{
public partial class MainPage : UserControl
{
    svc.IhfsvcClient dataSrv = new svc.IhfsvcClient();
    ObservableCollection<svc.ReasonData> reasonData;
}

これはすべてをセットアップするためのもので、次はサービスへの呼び出しです。

    private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        dataSrv.wcGetReasonsCompleted += ReasonsLoaded;
        dataSrv.wcGetReasonsAsync();
    }

最後に、コレクションを取得してコンボボックスにバインドするコード:

    private void ReasonsLoaded(object sender, wcGetReasonsCompletedEventArgs e)
    {
        reasonData = e.Result;
    }

ただし、これは次のエラーを返します。

タイプ 'sl_HFClient.svc.ReasonData[]' を 'System.Collections.ObjectModel.ObservableCollection' に暗黙的に変換できません

私は Silverlight と C# を初めて使用します。以前に SL4 と VB.NET でいくつかのことを行ったことがあります。このコードを VB.NET プロジェクトと比較すると、うまくいくようです。

私は何を間違っていますか??

//JaggenSWE

4

1 に答える 1

0

次のことを試してください。

private void ReasonsLoaded(object sender, wcGetReasonsCompletedEventArgs e)
{
    reasonData = new ObservableCollection<ReasonData>(e.Result);
}

これが Silverlight で機能するかどうかは完全にはわかりませんが、それでも解決策はObservableCollection<ReasonData>ReasonData[].

于 2012-07-26T23:10:20.620 に答える