물론 웹상의 모든 곳을 검색했지만 내 문제의 해결책을 찾을 수 없습니다.DataGrid WPF를 목록이있는 두 개의 다른 클래스에 바인딩합니까?
내 문제
내가 청력도 (Audiogramm 클래스)의 목록이 포함되어 환자 클래스가 있습니다. 사실 DataGrid에 환자 목록을 표시 할 수 있습니다. 그러나 각 환자에 대해 Audiogram을 DataGrid (WPF)에 표시하려고합니다.
class Patient
{
public Patient(string patientid, string genre, string createdate)
{
this.patientID = patientid;
this.genre = genre;
this.createDate = createdate;
audiogram = new List<Audiogram>();
}
public string patientID { get; set; }
public string genre{ get; set; }
public string createDate { get; set; }
public List<Audiogram> audiogram { get; set; }
}
class Audiogram
{
public Audiogram(string typeData, string actionDate)
{
this.typeData = typeData;
this.actionData = actionData;
}
public string typeData { get; set; }
public string actionData { get; set; }
}
XmlNodeList nodeList = root.SelectNodes("/pt:NOAH_Patients_Export/pt:Patient/pt:Patient", nsmgr);
foreach (XmlNode node in nodeList)
{
XmlNodeList nodeListAudio = node.SelectNodes("//pt:Actions", nsmgr);
Patient patient = new Patient(node["pt:NOAHPatientId"].InnerText, node["pt:Gender"].InnerText, node["pt:CreateDate"].InnerText);
foreach (XmlNode nodeAudio in nodeListAudio)
{
Audiogram audiogramme = new Audiogram(nodeAudio["pt:TypeOfData"].InnerText, nodeAudio["pt:ActionDate"].InnerText);
patient.audiogram.Add(audiogramme);
}
listPatient.Add(patient);
}
dataGrid_XML.ItemsSource = listPatient;
<DataGrid x:Name="dataGrid_XML" AutoGenerateColumns="false" ItemsSource="{Binding Patient}"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding patientID}" Header="ID Patient"/> <DataGridTextColumn Binding="{Binding genre}" Header="Genre"/> <DataGridTextColumn Binding="{Binding createDate}" Header="Date création"/> <DataGridTextColumn Binding="{Binding audiogram.typeData}" Header="Type de données"/> <DataGridTextColumn Binding="{Binding audiogram.actionData}" Header="Date de dernière action"/> </DataGrid.Columns> </DataGrid>
덕분에,이 솔루션은 나를 위해 작동하지만 난 RowDetailsTemplate을 피하고자합니다. DataGrid.items.add()를 사용하여 하나의 작업 솔루션을 찾았습니다. 가능한 경우 솔루션을 게시합니다. – Wiomarch