내가 할 수있는 한 최선을 다해 설명해 보겠습니다.ViewModel의 속성 및 컬렉션 항목의 속성에 ViewModel의 속성을 바인딩하려면 어떻게해야합니까?
저는보기, 모델 및 발표자를 이해하려고 노력 중이므로 약간의 기능을 설명하는 작은 프로그램을 만들었습니다. . 내 작은 응용 프로그램은 기본적으로 앨범을 저장합니다. 앨범은 콤보 상자에 나열되며 모든 텍스트 상자 인 아티스트, 장르 및 연도 필드가 있습니다. 지금까지는 아무런 문제가 없었습니다 ... 저는 바인딩 소스를 만들고 뷰 모델 (제목, 아티스트, 장르 및 연도에 대한 속성을 가짐)에 바인딩했으며 예상대로 작동합니다. 콤보 상자를 순환 할 수 있으며 콤보 상자 선택에 따라 다양한 텍스트 상자가 변경됩니다.
그런 다음 각 앨범에 노래 목록을 추가하기로 결정 했으므로보기 모델에 새로운 노래 속성을 추가하고보기에 데이터 표보기를 추가했습니다. 이것은 내가 꽤 혼란스럽게 된 곳입니다. 데이터 격자보기에 다른 모든 것에 사용 된 바인딩 소스를 바인드하면 분명히보기 모델의 직접 필드를 렌더링하기 만하면됩니다. 기본적으로 그리드 형식으로 텍스트 상자에 표시하는 것을 반복합니다.
문제를 충분히 설명했다고 가정하면 텍스트 상자의 앨범 필드와 데이터 그리드보기의 노래를 표시하려면 어떻게해야합니까? 나는 두 번째 바인딩 소스가 필요하다는 결론에 도달했다고 생각하지만 가능한 경우이를 피하고 싶습니다. 필자는 데이터 그리드 뷰의 DataMember 속성을 "Songs"(뷰 모델의 노래 컬렉션 속성 이름)로 전달하는 것과 같은 뻔한 일을 시도했습니다.
누구나 올바른 방향으로 나를 가리킬 수 있습니까?
답장을 보내 주셔서 감사합니다. 저는 WinForms를 사용하고 있습니다. 그러나이 예제는 여러분과 Charles의 대답을 결합한 후에 구현할 수있을 정도로 분명합니다. –