2011-08-30 4 views
0

저는 Silverlight 4 WCF RIA Services 응용 프로그램을 만들고 있습니다. 내 Stock 엔터티 용 프리젠 테이션 모델을 만들었는데 괜찮습니다. 내 문제는 (글쎄, 내 고민 중 하나) StockType을 조회하기 위해 콤보 박스를 데이터 바인딩하려고 할 때입니다.RIA 서비스 프레젠테이션 모델 (Combobox 조회 포함)

xaml의 모든 콤보 박스 항목을 OK로 설정할 수 있습니다 (즉, 드롭 다운에서 항목 목록을 볼 수 있음). 그러나 선택한 항목은 CurrentStock.Type 속성에 바인딩되지 않습니다. CurrentStock은 내 viewmodel에있는 속성이며 다른 모든 필드에서는 잘 작동합니다. 콤보 상자가 아닙니다. 콤보 상자 데이터 소스 내 StockPresentationModel 엔티티에 다른 도메인 컨텍스트에 있기 때문에 나는이 생각

<Combobox 
    ItemsSource="{Binding Source={StaticResource StockTypeDataSource}, Mode=TwoWay}" 
    DisplayMemberPath="Type" 
    SelectedValue=="{Binding Path=CurrentStock.Type}" 
    SelectedValuePath="Type"/> 

내가 맞다, 무엇입니까? 그렇다면 Stock_Type 엔티티를 Stock 프리젠 테이션 모델로 가져와야합니까? 또는 어떻게 든 내 엔터티 (Stock 및 Stock_Type)를 내 viewmodel에로드하고 거기에서 콤보 상자 항목 소스를 올바르게 설정할 수 있습니까?

이것은 Silverlight 및 RIA를 사용하는 첫 번째 프로젝트이며 난처한 시간 동안 사냥하고 검색하고 실험하여 도움을 얻을 수있었습니다.

+0

다른 DomainContext에있는 엔티티가 문제라고 가정 할 때 옳습니다. 이 시나리오에서 동일한 컨텍스트에 두는 것이 좋습니다. 선택적으로 바인딩 (Stock.Type.ID)에서 엔터티 대신 기본 키를 사용하여 해당 요구 사항을 해결할 수 있습니다. –

답변

0

RIA 서비스의 엔티티 클래스 메타 데이터에 [유형] 속성의 [포함] 속성이 있는지 확인하십시오.

+0

Anees와 Kyle이 대답 할 시간을내어 주셔서 감사합니다. 저는 실제로 어떻게 든 그것을 (일종의) 직접 해결했습니다. Silverlight Toolkit 샘플 브라우저를 살펴본 후 AutoCompleteBox를 콤보 박스로 스타일을 정한 곳을 발견했습니다.이 콤보 박스는 일반적인 콤보 상자보다 실제로 우리 요구 사항에 더 잘 맞았습니다. 그리고 SelectedItem 바인딩이 작동합니다! –

관련 문제