0

dataContext を使用してコンボボックスにデータを入力しようとしていますが、常に何も得られませんでした:

EntityQuery<Tests> testQ = myDomainContext.GetTestQuery().Where(t => t == 5);
LoadOperation<Tests> loadOp = myDomainContext.Load(testQ)
comboxBoxTest.ItemSource = loadOp.Entities.Select(t => t.Name).Distinct().ToList();

誰かがここで何が悪いのか教えてもらえますか?

4

2 に答える 2

1

おそらくエンティティをロードしないでしょう。試す

EntityQuery<Tests> testQ = myDomainContext.GetTestQuery().Where(t => t == 5);
LoadOperation<Tests> loadOp = myDomainContext.Load(testQ);
loadOp.Completed += (o, e) =>
    {
        comboxBoxTest.ItemSource = loadOp.Entities.Select(t => t.Name).Distinct().ToList();
    };

または

myDomainContext.Load(testQ, new Action<LoadOperation<Tests>>(result =>
    {
        comboxBoxTest.ItemSource = result.Entities.Select(t => t.Name).Distinct().ToList();
    }), null);
于 2012-06-28T05:07:21.300 に答える
1

ご存知かもしれませんが、ほとんどすべての操作RIAは非同期です。また、クエリを実行する際には、このことに注意する必要があります。
このような理由から、コールバック メソッドを使用する必要があります (@Zabavsky の回答には適切なものがあります)。MVVMまた、分離コードの代わりにパターンを使用することを少しお勧めします。これにより、コードとロジックがよりクリーンになります。

于 2012-06-28T09:13:49.860 に答える