Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Det här exemplet visar hur du binder XML-data till en ItemsControl med hjälp av XDocument.
Följande XAML-kod definierar en ItemsControl och innehåller en datamall för data av typen Planet
i http://planetsNS
XML-namnområde. XML-datatypen som upptar ett namnområde måste inkludera namnområdet i klammerparenteser, och om det visas där ett XAML-markup-tillägg kan visas, ska det föregås av en escape-sekvens för klammerparenteser. Den här koden binder till dynamiska egenskaper som motsvarar metoderna Element och Attribute i klassen XElement. Med dynamiska egenskaper kan XAML binda till dynamiska egenskaper som delar namnen på metoderna. Mer information finns i dynamiska egenskaper i LINQ till XML. Observera hur standarddeklarationen för namnområdet för XML inte gäller för attributnamn.
<StackPanel Name="stacky">
<StackPanel.Resources>
<DataTemplate DataType="{}{http://planetsNS}Planet" >
<StackPanel Orientation="Horizontal">
<TextBlock Width="100" Text="{Binding Path=Element[{http://planetsNS}DiameterKM].Value}" />
<TextBlock Width="100" Text="{Binding Path=Attribute[Name].Value}" />
<TextBlock Text="{Binding Path=Element[{http://planetsNS}Details].Value}" />
</StackPanel>
</DataTemplate>
</StackPanel.Resources>
<ItemsControl
ItemsSource="{Binding }" >
</ItemsControl>
</StackPanel>
Följande C#-kod anropar Load och anger stackpanelens datakontext till alla underelement i elementet med namnet SolarSystemPlanets
i http://planetsNS
XML-namnområdet.
planetsDoc = XDocument.Load("../../Planets.xml");
stacky.DataContext = planetsDoc.Element("{http://planetsNS}SolarSystemPlanets").Elements();
planetsDoc = XDocument.Load("../../Planets.xml")
stacky.DataContext = planetsDoc.Element("{http://planetsNS}SolarSystemPlanets").Elements()
XML-data kan lagras som en XAML-resurs med hjälp av ObjectDataProvider. Ett fullständigt exempel finns i L2DBForm.xaml-källkod. Följande exempel visar hur kod kan ange datakontexten till en objektresurs.
planetsDoc = (XDocument)((ObjectDataProvider)Resources["justTwoPlanets"]).Data;
stacky.DataContext = planetsDoc.Element("{http://planetsNS}SolarSystemPlanets").Elements();
planetsDoc = CType((CType(Resources("justTwoPlanets"), ObjectDataProvider)).Data, XDocument)
stacky.DataContext = planetsDoc.Element("{http://planetsNS}SolarSystemPlanets").Elements()
De dynamiska egenskaper som mappas till Element och Attribute ger flexibilitet inom XAML. Koden kan också binda till resultatet av en LINQ för XML-fråga. Det här exemplet binder till frågeresultat ordnade efter ett elementvärde.
stacky.DataContext =
from c in planetsDoc.Element("{http://planetsNS}SolarSystemPlanets").Elements()
orderby Int32.Parse(c.Element("{http://planetsNS}DiameterKM").Value)
select c;
stacky.DataContext = From c In planetsDoc.Element("{http://planetsNS}SolarSystemPlanets").Elements()
Order By Int32.Parse(c.Element("{http://planetsNS}DiameterKM").Value)
Select c
Feedback om .NET Desktop feedback
.NET Desktop feedback är ett öppen källkod projekt. Välj en länk för att ge feedback:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Skapa ett användargränssnitt som använder databindning i .NET MAUI. - Training
Skapa ett användargränssnitt med databindning. Användargränssnittet uppdateras automatiskt baserat på de senaste data, medan data uppdateras som svar på ändringar i användargränssnittet.
Dokumentation
Lär dig hur du binder till XML-data med hjälp av en XMLDataProvider- och XPath-fråga i Windows Presentation Foundation (WPF).
Gör så här: Binda till resultatet av en LINQ-fråga - WPF .NET Framework
Lär dig hur du kör en LINQ-fråga och sedan binder till resultaten i Windows Presentation Foundation (WPF).
Anvisningar: Hitta DataTemplate-Generated-element - WPF .NET Framework
Lär dig hur du hittar element som genereras av ett DataTemplate med flera tillhandahållna kodexempel.