私は銀色でもっとも大変な努力をしていますが、簡単な作業のためにハードルにつかまっています。私はアドレスをリストする私のメインフォーム上のメインDataGridを持っています。私はその後、国のルックアップを行うコンボボックスでこれらのアドレスを編集できるようにする子ウィンドウを持っています。私は、AdreessDomainDataSourceとCountryDomainDataSourceを持っています。 私は次のようにコードで自分の子ウィンドウに私のコンボボックスを持っている:私は、リスト内の別の項目に変更したときにこれは正しく書き戻すSilverlight childwindowのコンボボックスの参照
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:Country, CreateList=true}" Height="0" Name="CountryDomainDataSource" QueryName="GetCountriesQuery" Width="0">
<riaControls:DomainDataSource.DomainContext>
<my:CountriesContext />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<riaControls:DomainDataSource AutoLoad="False" d:DesignData="{d:DesignInstance my:Address, CreateList=true}" Height="0" Name="AddressDomainDataSource" QueryName="GetAddressQuery" Width="0" LoadDelay="10000">
<riaControls:DomainDataSource.DomainContext>
<my:AddressContext />
</riaControls:DomainDataSource.DomainContext>
<riaControls:DomainDataSource.QueryParameters>
<riaControls:Parameter ParameterName="intAddressID" />
</riaControls:DomainDataSource.QueryParameters>
</riaControls:DomainDataSource>
<Grid DataContext="{Binding ElementName=AddressDomainDataSource, Path=Data}" HorizontalAlignment="Left" Margin="63,27,0,0" Name="Grid1" VerticalAlignment="Top">
が、上のそれは常に最初の項目に置き換えられて起動CountryDomainDataSourceリスト。私はweb.g.vbコードにブレークポイントを設定しました。そして、intCountryIDは起動時に正しく設定されていますが、戻ってすぐにリストの最初の値で上書きされているようです。私はこの値を私のCountryDomainDataSourceリストの最初の値に設定するコードを書いていませんか? CountryDomainDataSource_LoadedDataイベントが終了した後、そこにcountryidが設定されているようです。私のCountryDomainDatasourceを最初にロードし、次にAddressDomainDatasourceを2番目にするか、私はこれ以上頭を傷つけているので、何かばかげたやり方をしていますか?
ご協力いただければ幸いです。
おかげで、それをオートローディングを停止し、CountryDomainDataSource_LoadedDataイベントからAddressDomainDatasourceのLoad()
をトリガするAddressDomainDatasource上
あなたの提案に従い、ComboBoxExtensionを使用しましたが、おそらく私のDomaincontextsとAsyncとAsyncEagerモードでいくつかの問題が発生しているようです。私はAsyncEagerで実行する場合、私はちょうど単一のID参照値を取得します。非同期で実行すると何も得られません。ですから、ドメインコントローラの共有を行うかどうかはわかりません。子ウィンドウのグリッドのDataContextを、親ウィンドウのデータグリッドの現在選択されているエンティティアイテムと同じに設定します。 – Oly
次に、childwindow.ResourcesでCountryContext Lookupを宣言してから、ComboBoxDataSourceを自分のコンボのすぐ上に配置します。今度はDomainContextの共有について言及しました。どうすればこのことに行きますか?私は少し混乱しています。ありがとうございました – Oly
これを実行すると私のコードにブレークポイントが置かれ、私のDomainServiceで自分のOperationNameを呼び出すようには見えません。これはフォームの起動時に実行する必要がありますか?Thanks、Oly – Oly