Powiązywanie kontrolek WPF z danymi w Visual Studio

Można wyświetlić dane użytkownikom aplikacji przez powiązanie danych z formantami WPF.Formanty powiązane z danymi tworzy się poprzez przeciąganie elementów z okna Źródła danych do WPF Designer w Visual Studio.W tym temacie opisano kilka typowych zadań, narzędzi i klas, których można użyć do tworzenia powiązanych z danymi aplikacji WPF.

Aby uzyskać ogólne informacje na temat tworzenia formantów powiązanych z danymi w Visual Studio, zobacz Powiązywanie kontrolek z danymi w Visual Studio.Aby uzyskać więcej informacji dotyczących wiązania danych WPF, zobacz Przegląd Wiązanie danych.

Zadania związane z wiązaniem formantów WPF z danymi

Poniższa tabela zawiera listę zadań, które można wykonać przez przeciąganie elementów z okna Źródła danych do WPF Designer.

Zadanie

Więcej informacji

Utwórz nowe formanty związane z danymi.

Powiąż istniejące formant z danymi.

Porady: powiązanie formantów WPF z danymi w Visual Studio

Utwórz formant, które wyświetlają pokrewne dane w relacji nadrzędny podrzędny: kiedy użytkownik wybierze nadrzędny rekord danych w jednym formancie, inny formant wyświetli powiązane dane podrzędne dla wybranego rekordu.

Porady: wyświetlanie powiązanych danych w aplikacjach WPF

Utwórz tabelę odnośników wyświetlającą informacje z jednej tabeli na podstawie wartości pola klucza obcego w innej tabeli.

Porady: tworzenie tabel wyszukiwania w aplikacjach WPF

Powiąż formant z obrazem w bazie danych.

Porady: powiązywanie formantów z obrazami z bazy danych

Prawidłowe miejsca upuszczania

Elementy z okna Źródła danych można przeciągać jedynie w prawidłowe miejsca upuszczania w WPF Designer.Istnieją dwa główne rodzaje z prawidłowych miejsc upuszczania: kontenery i formanty.Kontener jest element interfejsu użytkownika, który zwykle zawiera formanty.Na przykład siatka jest kontenerem i podobnie okno.

Wygenerowany XAML i kod

Podczas przeciągania elementu z okna Źródła danych do WPF Designer Visual Studio generuje XAML definiujący nowy formant powiązany z danymi (lub wiąże istniejący formant ze źródłem danych).Dla niektórych źródeł danych Visual Studio również generuje kod w pliku związanym z kodem, który wypełnia źródło danych danymi.

W poniższej tabeli wymieniono XAML i kod generowany przez Visual Studio dla każdego typu źródła danych w oknie Źródła danych.

Źródło danych

Generowanie pliku XAML, która wiąże formant ze źródłem danych

Generowanie kodu, który wypełnia źródło danych danymi

Zestaw danych

Tak

Tak

Entity Data Model

Tak

Tak

Usługa

Tak

Nie

Obiekt

Tak

Nie

Zestawy danych

Podczas przeciągania tabeli lub kolumna z okna Źródła danych do projektanta, Visual Studio generuje XAML wykonujący następujące czynności:

  • Dodaje zestaw danych i nowy CollectionViewSource do zasobów kontenera, do którego został przeciągnięty element.CollectionViewSource jest obiektem, którego można używać do nawigowania po danych w zestawie danych i wyświetlania ich.

  • Tworzy wiązania danych dla formantu.Jeśli przeciągniesz element do istniejącego formantu w projektancie, XAML powiąże formant z elementem.Jeśli przeciągniesz element do kontenera, XAML utworzy formant, który został wybrany dla przeciąganego elementu i powiąże formant z elementem.Formant zostanie utworzony wewnątrz nowego obiektu Grid.

Visual Studio powoduje następujące zmiany w pliku powiązanym z kodem:

  • Tworzy program obsługi zdarzeń Loaded dla elementu UI, który zawiera formant.Program obsługi zdarzeń wypełnia tabelę danych danymi, pobiera CollectionViewSource z kontenera zasobów, a następnie wybiera pierwszy element danych jako bieżący.Jeśli program obsługi zdarzeń Loaded już istnieje, Visual Studio dodaje ten kod do istniejącego programu obsługi zdarzeń.

Modele EDM (Entity Data Model)

Podczas przeciągania jednostki lub właściwości jednostki z okna Źródła danych do projektanta Visual Studio generuje XAML wykonujący następujące czynności:

  • Dodaje nowy obiekt CollectionViewSource do zasobów kontenera, do którego został przeciągnięty element.CollectionViewSource jest obiektem, którego można używać do nawigowania po danych i wyświetlania ich.

  • Tworzy wiązania danych dla formantu.Jeśli przeciągniesz element do istniejącego formantu w projektancie, XAML powiąże formant z elementem.Jeśli przeciągniesz element do kontenera, XAML utworzy formant, który został wybrany dla przeciąganego elementu i powiąże formant z elementem.Formant zostanie utworzony wewnątrz nowego obiektu Grid.

Visual Studio wprowadza następujące zmiany w pliku powiązanym z kodem:

  • Dodaje nową metodę, która zwraca kwerendy dla elementu, który został przeciągnięty do projektanta (lub elementu zawierającego właściwość, która została przeciągnięta do projektanta).Nowa metoda ma nazwę GetEntityNameQuery, gdzie EntityName jest nazwą elementu.

  • Tworzy program obsługi zdarzeń Loaded dla elementu UI, który zawiera formant.Program obsługi zdarzeń wywołuje metodę GetEntityNameQuery w celu wypełnienia elementu danymi, pobiera CollectionViewSource z zasobów kontenera, a następnie wybiera pierwszy element danych jako bieżący.Jeśli program obsługi zdarzeń Loaded już istnieje, Visual Studio dodaje ten kod do istniejącego programu obsługi zdarzeń.

Usługi

Podczas przeciągania obiektu usługi lub właściwości z okna Źródła danych do projektanta Visual Studio generuje XAML tworzący formant powiązany z danymi (lub wiąże istniejący formant z obiektem lub właściwością).Jednak Visual Studio nie generuje kodu, który wypełnia obiekt usługi serwera proxy danymi.Musisz napisać ten kod samodzielnie.Aby zobaczyć przykład demonstrujący, jak to zrobić, zobacz Wskazówki: powiązywanie kontrolek WPF z usługą danych programu WCF.

Visual Studio generuje plik XAML, który wykonuje następujące czynności:

  • Dodaje nowy obiekt CollectionViewSource do zasobów kontenera, do którego został przeciągnięty element.CollectionViewSource jest obiektem, którego można używać do nawigowania po danych w obiekcie zwracanym przez usługę.

  • Tworzy wiązania danych dla formantu.Jeśli przeciągniesz element do istniejącego formantu w projektancie, XAML powiąże formant z elementem.Jeśli przeciągniesz element do kontenera, XAML utworzy formant, który został wybrany dla przeciąganego elementu i powiąże formant z elementem.Formant zostanie utworzony wewnątrz nowego obiektu Grid.

Obiekty

Podczas przeciągania obiektu lub właściwości z okna Źródła danych do projektanta Visual Studio generuje XAML tworzący formant powiązany z danymi (lub wiąże istniejący formant z obiektem lub właściwością).Jednak Visual Studio nie generuje kodu, który wypełnia obiekt danymi.Musisz napisać ten kod samodzielnie.

[!UWAGA]

Klasy niestandardowe muszą mieć typ publiczny i posiadać domyślny konstruktor bez parametrów.Nie mogą być klasami zagnieżdżonymi, które w składni mają „dot”.Aby uzyskać więcej informacji, zobacz Klasy XAML i niestandardowe dla WPF.

Visual Studio generuje XAML plik XAML, który wykonuje następujące czynności:

  • Dodaje nowy obiekt CollectionViewSource do zasobów kontenera, do którego został przeciągnięty element.CollectionViewSource jest obiektem, którego można używać do nawigowania po danych w obiekcie i wyświetlania ich.

  • Tworzy wiązania danych dla formantu.Jeśli przeciągniesz element do istniejącego formantu w projektancie, XAML powiąże formant z elementem.Jeśli przeciągniesz element do kontenera, XAML utworzy formant, który został wybrany dla przeciąganego elementu i powiąże formant z elementem.Formant zostanie utworzony wewnątrz nowego obiektu Grid.

Zobacz też

Zadania

Porady: powiązanie formantów WPF z danymi w Visual Studio

Porady: tworzenie tabel wyszukiwania w aplikacjach WPF

Porady: wyświetlanie powiązanych danych w aplikacjach WPF

Wskazówki: powiązywanie kontrolek WPF z zestawem danych

Wskazówki: powiązywanie kontrolek WPF z usługą danych programu WCF

Wskazówki: wyświetlanie powiązanych danych w aplikacji WPF

Informacje

Okno źródła danych

Koncepcje

Źródła danych — Przegląd

Inne zasoby

Wiązanie formantów WPF z modelem EDM