0

こんにちは皆さん、Silverlight 4 プロジェクトのアイテム ソースにデータフォームがあります。

ItemsSource="{Binding Data, ElementName=domainDataSource1, Mode=TwoWay}"

およびドメイン データ ソースは次のとおりです。

<riaControls:DomainDataSource Name="domainDataSource1" QueryName="GetCarsQuery"  AutoLoad="True">
        <riaControls:DomainDataSource.DomainContext>
            <domain:DataDomainContext/>
        </riaControls:DomainDataSource.DomainContext>
    </riaControls:DomainDataSource>

私の車のテーブルは、トレーラーのテーブルと関係があります。データ フォームにコンボボックスがあり、すべてのトレーラー マークを表示したいのですが、コンボボックスを別のクエリにバインドする方法を教えてください。また、ユーザーがデータを保存するときに、マーク付きのトレーラー ID を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

最初に、DataForms にネストされた ComboBoxes は現在 SL5 の時点で非常にバグが多いと言っておきましょう。しかし、ほら、これは Entity Framework を使用しています。

関連するクラス:

public class TrailerListProvider : UserControl
{
    myDomainContext _dc;
    public myDomainContext DomainContext
    {
        set
        {
            _dc = value;
            _dc.Load<trailer>(_dc.GetTrailersQuery());

        }
    }
    public TrailerListProvider()
    {
        DomainContext = new myDomainContext ();
    }
    public List<trailer> VendorList
    {
        get
        {
            return (from t in _dc.trailers
                    orderby t.trailerMark
                    select t).ToList();
        }
    }
}

XAML で:

<Control.Resources>
    <myClasses:TrailerListProvider x:Key="trailerListProvider"></myClasses:TrailerListProvider>
</Control.Resources>

最後に、コンボボックス (または ItemsSource を含む任意のコントロール) で:

ItemsSource = {Binding Path=VendorList, ElementName={StaticResource trailerListProvider}}
于 2012-06-18T14:52:46.347 に答える