2009-07-17 4 views
3

일부 테스트 데이터를 SketchFlow ComboBox에 성공적으로 바인딩하지 못했습니다. 샘플 데이터 소스를 추가하고 몇 가지 기본 문자열 값이있는 컬렉션을 만들었습니다. SketchFlow에서 ListBox에 바인딩하는 방법에 대한 자습서가 많이 있으며 잘 작동하며 ComboBox에 대한 항목을 찾지 못했습니다.테스트 데이터를 SketchFlow ComboBox에 바인딩하는 방법은 무엇입니까?

답변

1

예상대로 작동하는 것 같아서 문제를 올바르게 이해하지 못하고 있지만 한 번만 알려 드리겠습니다. 필자는 두 개의 문자열을 가진 샘플 DataSource를 만들고 ComboBox를 레이아웃 루트에 추가 한 다음 DataSource에서 컬렉션을 드래그하여 ComboBox에 놓았습니다.

DataSource 자체를 끌면 ComboBox의 DataContext 속성 만 설정되며 항목을 표시하기에 충분하지 않습니다. 또한 데이터 소스의 컬렉션에 바인딩 된 ItemsSource와 항목을 표시하는 방법을 ComboBox에 알리기 위해 ItemTemplate 또는 DisplayMemberPath가 필요합니다.

또한 바인딩의 드래그 앤 드롭 방식을 사용하면 일반적으로 StackPanel을 만들고 행의 모든 ​​필드를 표시하므로 원하는 방식 일 수도 있고 아닐 수도있는 ItemTemplate 방식을 사용합니다. ComboBox의 항목 당 Collection. ItemTemplate을 제거하고 DisplayMemberPath를 데이터 소스의 컬렉션에서 표시 할 필드로 설정할 수 있습니다.

+0

나는 당신이 묘사 한 것을하고있었습니다. 새로운 페이지에서 다시 시도 했었습니다. 원래는 원래 여러 페이지로 전환했습니다. 내 새 페이지에는 ComboBox 컨트롤과 단 몇 개의 문자열이있는 간단한 DataSource가 있습니다. 프로젝트를 실행할 때 런타임 오류 "Silverlight 응용 프로그램 AG_E_PARSER_BAD_TYPE에서 처리되지 않은 오류"가 나타납니다. DisplayTemplate 대신 DisplayMemberPath를 사용했지만 동일한 오류가 발생했습니다. 도움을 주시면 감사하겠습니다. SketchFlow는 정말 유망 해 보입니다. – Clay

+0

새로운 프로젝트를 시도해 보았습니다. 설명 된 단계가 이제는 정상적으로 작동합니다. 분명히 원래 프로젝트에서 문제를 일으키는 다른 것이 있습니다. 다시 한 번 감사드립니다! – Clay

3

몇 번에 나에게 걸림돌이 된 것은 컨트롤 (콤보 상자 또는 목록 상자)으로 끌어 오기 전에 데이터를 "목록 모드"로 유지해야한다는 것입니다.

관련 문제