Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Klassen DataSet och relaterade klasser är äldre .NET Framework-tekniker från början av 2000-talet som gör det möjligt för program att arbeta med data i minnet medan apparna kopplas från databasen. Teknikerna är särskilt användbara för appar som gör det möjligt för användare att ändra data och spara ändringarna tillbaka till databasen. Även om datauppsättningar är en bevisad framgångsrik teknik är den rekommenderade metoden för nya .NET-program att använda Entity Framework Core. Entity Framework är ett mer naturligt sätt att arbeta med tabelldata som objektmodeller och har ett enklare programmeringsgränssnitt.
Du kan visa data för användare av ditt program genom att binda data till WPF-kontroller. Om du vill skapa dessa databundna kontroller kan du dra objekt från fönstret Datakällor till WPF Designer i Visual Studio. I det här avsnittet beskrivs några av de vanligaste uppgifterna, verktygen och klasserna som du kan använda för att skapa databundna WPF-program.
Allmän information om hur du skapar databundna kontroller i Visual Studio finns i Binda kontroller till data i Visual Studio. Mer information om WPF-databindning finns i Översikt över databindning.
Arbetsuppgifter som ingår i bindningen av WPF-kontroller till data
I följande tabell visas de uppgifter som kan utföras genom att dra objekt från fönstret Datakällor till WPF Designer.
| Aktivitet | Mer information |
|---|---|
| Skapa nya databundna kontroller. Binda befintliga kontroller till data. |
Binda WPF-kontroller till en datauppsättning |
| Skapa kontrollkomponenter som visar relaterade data i ett föräldra-barnförhållande: när användaren väljer en överordnad datapost i en kontrollkomponent, visar en annan kontrollkomponent relaterade underordnade data för den valda posten. | Visa relaterade data i WPF-program |
| Skapa en uppslagstabell som visar information från en tabell baserat på värdet för ett sekundärnyckelfält i en annan tabell. | Skapa uppslagstabeller i WPF-program |
| Binda en kontroll till en bild i en databas. | Binda kontroller till bilder från en databas |
Giltiga släppmål
Du kan bara dra objekt i fönstret Datakällor till giltiga släppmål i WPF Designer. Det finns två huvudsakliga typer av giltiga släppmål: containrar och kontroller. En container är ett användargränssnittselement som vanligtvis innehåller kontroller. Ett rutnät är till exempel en container, och det är också ett fönster.
Genererad XAML och kod
När du drar ett objekt från fönstret Datakällor till WPF Designer genererar Visual Studio XAML som definierar en ny databunden kontroll (eller binder en befintlig kontroll till datakällan). För vissa datakällor genererar Visual Studio även kod i filen bakom koden som fyller datakällan med data.
I följande tabell visas den XAML och kod som Visual Studio genererar för varje typ av datakälla i fönstret Datakällor .
| Datakälla | Generera XAML som binder en kontroll till datakällan | Generera kod som fyller datakällan med data |
|---|---|---|
| Datasamling | Ja | Ja |
| Entitetsdatamodell | Ja | Ja |
| Tjänster | Ja | Nej |
| Objekt | Ja | Nej |
Datauppsättningar
När du drar en tabell eller kolumn från fönstret Datakällor till designern genererar Visual Studio XAML som gör följande:
Lägger till datauppsättningen och en ny CollectionViewSource till resurserna i containern som du drog objektet till. CollectionViewSource är ett objekt som kan användas för att navigera och visa data i datauppsättningen.
Skapar en databindning för en kontroll. Om du drar objektet till en befintlig kontroll i designern binder XAML kontrollen till objektet. Om du drar objektet till en container skapar XAML den kontroll som har valts för det dragna objektet och binder kontrollen till objektet. Kontrollen skapas i en ny Grid.
Visual Studio gör också följande ändringar i filen bakom koden:
- Skapar en Loaded händelsehanterare för användargränssnittselementet som innehåller kontrollen. Händelsehanteraren fyller tabellen med data, hämtar CollectionViewSource från containerns resurser och gör sedan det första dataobjektet till det aktuella objektet. Om det redan finns en Loaded händelsehanterare lägger Visual Studio till den här koden i den befintliga händelsehanteraren.
Entitetsdatamodeller
När du drar en entitet eller en entitetsegenskap från fönstret Datakällor till designern genererar Visual Studio XAML som gör följande:
Lägger till en ny CollectionViewSource till resurserna i containern som du drog objektet till. CollectionViewSource är ett objekt som kan användas för att navigera och visa data i entiteten.
Skapar en databindning för en kontroll. Om du drar objektet till en befintlig kontroll i designern binder XAML kontrollen till objektet. Om du drar objektet till en container skapar XAML den kontroll som har valts för det dragna objektet och binder kontrollen till objektet. Kontrollen skapas i en ny Grid.
Visual Studio gör också följande ändringar i filen bakom koden:
Lägger till en ny metod som returnerar en fråga för den entitet som du drog till designern (eller entiteten som innehåller egenskapen som du drog till designern). Den nya metoden har namnet
Get<EntityName>Query, där\<EntityName>är namnet på entiteten.Skapar en Loaded händelsehanterare för användargränssnittselementet som innehåller kontrollen. Händelsehanteraren anropar
Get<EntityName>Querymetoden för att fylla entiteten med data, hämtar CollectionViewSource från containerns resurser och gör sedan det första dataobjektet till det aktuella objektet. Om det redan finns en Loaded händelsehanterare lägger Visual Studio till den här koden i den befintliga händelsehanteraren.
Tjänster
När du drar ett tjänstobjekt eller en egenskap från fönstret Datakällor till designern genererar Visual Studio XAML som skapar en databunden kontroll (eller binder en befintlig kontroll till objektet eller egenskapen). Visual Studio genererar dock inte kod som fyller proxytjänstobjektet med data. Du måste skriva den här koden själv. Ett exempel som visar hur du gör detta finns i Binda WPF-kontroller till en WCF-datatjänst.
Visual Studio genererar XAML som gör följande:
Lägger till en ny CollectionViewSource till resurserna i containern som du drog objektet till. CollectionViewSource är ett objekt som kan användas för att navigera och visa data i objektet som returneras av tjänsten.
Skapar en databindning för en kontroll. Om du drar objektet till en befintlig kontroll i designern binder XAML kontrollen till objektet. Om du drar objektet till en container skapar XAML den kontroll som har valts för det dragna objektet och binder kontrollen till objektet. Kontrollen skapas i en ny Grid.
Objekt
När du drar ett objekt eller en egenskap från fönstret Datakällor till designern genererar Visual Studio XAML som skapar en databunden kontroll (eller binder en befintlig kontroll till objektet eller egenskapen). Visual Studio genererar dock inte kod för att fylla objektet med data. Du måste skriva den här koden själv.
Anmärkning
Anpassade klasser måste vara offentliga och som standard ha en konstruktor utan parametrar. De kan inte vara kapslade klasser som har en "punkt" i sin syntax. Mer information finns i XAML och anpassade klasser för WPF.
Visual Studio genererar XAML som gör följande:
Lägger till en ny CollectionViewSource till resurserna i containern som du drog objektet till. CollectionViewSource är ett objekt som kan användas för att navigera och visa data i objektet.
Skapar en databindning för en kontroll. Om du drar objektet till en befintlig kontroll i designern binder XAML kontrollen till objektet. Om du drar objektet till en container skapar XAML den kontroll som har valts för det dragna objektet och binder kontrollen till objektet. Kontrollen skapas i en ny Grid.