도메인 서비스를 통해 내 엔티티 모델과 combox를 바인딩하고 싶습니다.Silverlight Ria 서비스의 Combobox 바인딩
내 엔티티 모델 : 국가 (ID, NAME) TABLE_TEST 내 개체 모델과 도메인 서비스를 만들어
(PK_FIELD, FIELD2, COUNTRY_ID).
내 XAML은 :이 TABLE_TEST와 경계하지 것처럼
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:COUNTRIES, CreateList=true}" Height="0" Name="COUNTRIESDomainDataSource" QueryName="GetCOUNTRIESQuery" Width="0">
<riaControls:DomainDataSource.DomainContext>
<my:DomainService1 />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:TABLE_TEST, CreateList=true}" Height="0" Name="TABLE_TESTDomainDataSource" QueryName="GetTABLE_TESTQuery" Width="0">
<riaControls:DomainDataSource.DomainContext>
<my:DomainService1 />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<ComboBox Name="COUNTRIESComboBox"
DataContext="{Binding ElementName=COUNTRIESDomainDataSource, Path=Data}" ItemsSource="{Binding}"
DisplayMemberPath="ID"
SelectedValuePath="NAME"
SelectedValue="{Binding ElementName=TABLE_TESTDomainDataSource, Path=COUNTRY_ID}">
</ComboBox>
콤보 상자가 올바른 값 (모든 국가)로드하지만 보인다. TABLE_TEST의 레지스터를 변경하면 콤보의 값이 변경되지 않습니다.
내가 뭘 잘못하고 있니? 많은 예제를 보았지만 아무도 도메인 데이터 소스 및 엔티티 모델과 동일한 escenario입니다.
나는 실버와 5 개
감사
이 예는 나와 동일하지 않습니다. 좋아, 그는 같은 상황을 설명하고 있지만 그는 내가 원하지 않는 개인화 된 콤보 박스를 사용하고있다. 나는 실버 라이트가 내 자신의 콤보 박스 확장을 구현하지 않으면이 문제에 대한 해결책이 없다는 것을 믿을 수 없다 ... – nachovall
표준 콤보 박스이다. 주된 이유는 DomainDataSource가 비동기 적이기 때문이며 SelectedValue가 설정된 후에 ItemsSource를로드하는 것이 완료 될 수 있기 때문입니다. 최종 결과는 귀하가 SelectedValue를 잃는 것입니다. 확장 프로그램을 사용하지 않으려면 itemssource가 먼저로드되었는지 확인한 다음 선택한 값을 설정하십시오. 이것이 확장 기능입니다. –
그건 그렇고, 나는 당신의 정서에 완전히 동의합니다. Silverlight는 너무 낮은 수준이며 신속한 LOB 개발에 유용하도록 수년간 연마하거나 타사 도구 키트가 필요합니다. –