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. |
|
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. |
|
Utwórz tabelę odnośników wyświetlającą informacje z jednej tabeli na podstawie wartości pola klucza obcego w innej tabeli. |
|
Powiąż formant z obrazem w bazie 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