여기도 웹에서 검색했지만 잘못된 키워드를 사용하거나 MVVM의 예제 중 대부분은 한 모델 만 처리합니다. 내 프로젝트의 두 가지 모델 (MVVM에 자기 학습 프로젝트), 노래 모델과 아티스트 모델을 데2 개 모델 이상으로 작업하는 방법은 무엇입니까?
. 지금까지 listview를 사용자가 노래에 대한 정보를 클릭 할 때 몇 개의 텍스트 상자 컨트롤에 채워지도록 정보 모음 (노래에서)으로 바인딩 할 수있었습니다.
제가 직면하는 질문은 두 모델간에 어떻게 통신 할 수 있는가하는 것입니다. 모델을 컬럼/필드가있는 테이블로 생각하면 아티스트 모델 (외래 키)에 대한 참조를 만들 수 있어야하지만 내가 얻지 못하는 것은 내가 실크를 칠 때 아티스트에 대한 정보를 검색하는 방법입니다. listview에서 그의 노래에?
짧게 요약하면, 목록보기에서 노래 목록을 보여주는 행을 클릭 한 다음 가수/아티스트 사진, 실제 이름 등을 얻고 싶습니다. 관련 작품을 찾는 방법에 대한 개념을 따르지 않고 있습니다. 아티스트 모델의 노래에 대한 데이터
조언을드립니다.
이 내가 지금 무엇을 가지고 :
public class Song
{
string _singerId;
string _singerName;
string _songName;
string _songWriter;
string _genre;
int _songYear;
Artist artistReference;
그럼 내가 가진 :
public class Artist
{
string _artistBirthName;
string _artistNationality;
string _artistImageFile;
DateTime _artistDateOfBirth;
DateTime _artistDateOfDeath;
bool _isArtistAlive;
감사합니다.
편집 :
여기내가 정보를 제공하는 방법입니다
질문 내가 노래 컬렉션에서 아티스트 참조를 삽입 할 수있는 방법인가?
Artists = new ObservableCollection<Artist>()
{
new Artist() { ArtistBirthName = "Francis Albert Sinatra", ArtistNickName = "Ol' Blue Eyes", ArtistNationality = "American", ... },
new Artist() { ArtistBirthName = "Elvis Aaron Presley", ArtistNickName = "", ArtistNationality = "American", ... },
new Artist() { ArtistBirthName = "James Paul McCartney", ArtistNickName = "", ArtistNationality = "British", ... },
new Artist() { ArtistBirthName = "Thomas John Woodward", ArtistNickName = "", ArtistNationality = "British", ... }
};
//later read it from xml file or a table.
Songs = new ObservableCollection<Song>()
{
new Song() {ARTIST INFO GOES HERE? HOW?, SingerName = "Fank Sinatra", SongName="Fly me to the Moon", SongWriterName="Bart Howard", Genre="Jazz" ,YearOfRelease= 1980 },
new Song() {SingerName = "Elvis Presley", SongName="Can't Help Falling in Love", SongWriterName="Paul Anka", Genre="Pop", YearOfRelease= 1969},
new Song() {SingerName = "The Beatles", SongName="Let It Be", SongWriterName="John Lennon", Genre="Rock", YearOfRelease= 1970},
new Song() {SingerName = "Tom Jones", SongName="Its Not Unusual", SongWriterName="Les Reed & Gordon Mills", Genre="Pop" , YearOfRelease= 1965}
};
나를 위해 클릭하지 않는 한 가지 방법은 노래가 모든 아티스트 행에서 아티스트 정보를 찾는 방법입니다. 여기서는 학습 목적을 위해 노래와 아티스트 컬렉션을 수동으로 생성합니다. 웹 서비스 또는 XML 파일에서이 정보를 소스에서 가져 오는 경우에는 어떻습니까? –
나는 또한 나의 질문을 편집했다. 하단에는 내가 다루고있는 콜렉션의 종류가 표시되며 거기에 참조를 추가 할 수있는 방법을 알고 싶습니다.나는 그것이 지금 분명하기를 바란다. –
그에 따라 내 대답을 편집했습니다. –