WPF의 목록 상자에 목록을 바인딩하려고합니다. 하지만 작동하지 않는 것 같습니다. 화면에 아무것도 표시되지 않습니다. 당신은 아마 알다시피, 주문은 사용자 정의 클래스이기 때문에 Klantgegevens가wpf의 listboxitem에 바인드 목록
WPF
<ListBox x:Name="listBox" HorizontalAlignment="Left" Height="453" VerticalAlignment="Top" Width="119" Margin="0,43,0,0" ItemsSource="{Binding orderlist}">
<ListBoxItem Content="{Binding orderlist.ID}"></ListBoxItem>
</ListBox>
C#을
Order order = new Order();
Klantgegevens klantgegevens = new Klantgegevens();
XmlReader rdr = XmlReader.Create(@"C:\Users\Gebruiker\Desktop\EDI\Rekening.xml");
rdr.ReadToFollowing("datum");
order.DatumOntvangst = rdr.ReadElementContentAsString();
rdr.ReadToFollowing("volgnr");
order.Status = "Aangenomen";
order.Opmerkingen = "";
rdr.ReadToFollowing("naam");
order.Afzender = rdr.ReadElementContentAsString();
rdr.ReadToFollowing("naam");
klantgegevens.Naam = rdr.ReadElementContentAsString();
rdr.ReadToFollowing("straat");
klantgegevens.Straat = rdr.ReadElementContentAsString();
rdr.ReadToFollowing("huisnr");
klantgegevens.Huisnummer = rdr.ReadElementContentAsInt();
rdr.ReadToFollowing("plaats");
klantgegevens.Woonplaats = rdr.ReadElementContentAsString();
rdr.ReadToFollowing("postcode");
klantgegevens.Postcode = rdr.ReadElementContentAsString();
rdr.ReadToFollowing("telefoonnr");
klantgegevens.Telefoonnummer = rdr.ReadElementContentAsString();
order.Klantgegevens = klantgegevens;
orderlist.Add(order);
listBox.DataContext = orderlist;
:
여기 내 코드입니다. 나는 바인딩 및 일반적으로 WPF 꽤 새로운 해요 그래서
<ListBoxItem Content="{Binding orderlist.ID}"></ListBoxItem>
당신이 XAML에서 항목을 추가로 내 stupidness :
맞아요 올바른 방향으로 한 걸음 내딛겠습니다. 목록에 뭔가를 추가 할 때만 처음 작동합니다. –
런타임시 ListBox에 항목을 동적으로 추가하려면 ItemsSource 속성을로 설정해야합니다 ObservableCollection 대신 목록 이 있습니다. ObservableCollection은 변경 알림을 제공하지만 목록에는 포함되어 있지 않습니다. https://msdn.microsoft.com/en-us/library/ms668604%28v=vs.110%29.aspx –
mm8
마지막 질문은 내가 할 수있는 경우 어떻게 작성합니까? 해당 목록 상자의 항목에 이벤트를 만들 수 있습니까? 클릭 한 항목에 어떤 텍스트가 있는지보고 싶으면 –