【发布时间】:2011-07-01 13:45:57
【问题描述】:
我正在尽我最大的努力使用 silverlight,但在简单的任务中总是遇到障碍。我的主表单上有一个列出地址的主数据网格。然后,我有一个子窗口,允许用户使用一个可以查询国家/地区的组合框来编辑这些地址。我有一个 AdreessDomainDataSource 和一个 CountryDomainDataSource。 我的子窗口中有我的组合框,代码如下:
<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,还是我在这里做了一些愚蠢或错误的事情,因为我已经为此挠头了一段时间?
任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: silverlight data-binding silverlight-4.0 combobox wcf-ria-services