Silverlight儿童窗口组合框查找
我正在用silverlight尽我最大的努力,但对于简单的任务,我总是会遇到障碍。我的主窗体上有一个列出地址的主数据网格。然后,我有一个子窗口,允许用户使用一个组合框编辑这些地址,该组合框用于查找国家/地区。我有一个AddressDomainDataSource和一个CountryDomainDataSource。 我的子窗口中有一个组合框,代码如下:Silverlight儿童窗口组合框查找,silverlight,data-binding,silverlight-4.0,combobox,wcf-ria-services,Silverlight,Data Binding,Silverlight 4.0,Combobox,Wcf Ria Services,我正在用silverlight尽我最大的努力,但对于简单的任务,我总是会遇到障碍。我的主窗体上有一个列出地址的主数据网格。然后,我有一个子窗口,允许用户使用一个组合框编辑这些地址,该组合框用于查找国家/地区。我有一个AddressDomainDataSource和一个CountryDomainDataSource。 我的子窗口中有一个组合框,代码如下: <riaControls:DomainDataSource AutoLoad="True" d:DesignData="
<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,或者我在这里做了一些愚蠢的或错误的事情,因为我已经为此挠头一段时间了
任何帮助都将不胜感激
感谢设置AddressDomainDatasource上的AutoLoad=“False”
以停止自动加载,并从CountryDomainDataSource\u LoadedData事件触发AddressDomainDatasource的Load()
或者您可以只设置AddressDomainDatasource的地址(可能是一个更简单的选项)。当DDS成功加载数据时,它将选择列表中的第一项。出于这个原因(以及其他原因),我建议您不要使用它来填充组合框。下面是Jeff和我共同撰写的几篇文章,解释了理由和更好的选择