Windows Presentation Foundation (WPF) to platforma prezentacji, która udostępnia wiele kontrolek i typów podobnych do kontrolek, których głównym celem jest wyświetlanie różnych typów zawartości. Aby określić, której kontrolki użyć lub z której kontrolki dziedziczyć, należy zrozumieć, jakie rodzaje obiektów konkretna kontrolka może najlepiej wyświetlać.
W tym temacie przedstawiono podsumowanie modelu zawartości dla kontrolek i typów przypominających kontrolkę WPF. Model zawartości opisuje zawartość, która może być używana w kontrolce. W tym temacie wymieniono również właściwości zawartości dla każdego modelu zawartości. Właściwość zawartości jest właściwością używaną do przechowywania zawartości obiektu.
Klasy zawierające dowolną zawartość
Niektóre kontrolki mogą zawierać obiekt dowolnego typu, taki jak ciąg, obiekt DateTime lub UIElement, który jest kontenerem dla dodatkowych elementów. Na przykład Button może zawierać obraz i jakiś tekst; lub CheckBox może zawierać wartość DateTime.Now.
WPF ma cztery klasy, które mogą zawierać dowolną zawartość. W poniższej tabeli wymieniono klasy dziedziczone z Control.
Nagłówek i kolekcja elementów, z których wszystkie są dowolnymi obiektami.
Kontrolki dziedziczone z tych klas mogą zawierać ten sam typ zawartości i traktować zawartość w taki sam sposób. Poniższa ilustracja przedstawia jedną kontrolkę z każdego modelu zawartości zawierającego obraz i tekst:
Kontrolki zawierające pojedynczy dowolny obiekt
Klasa ContentControl zawiera pojedynczy fragment dowolnej zawartości. Właściwość jego zawartości to Content. Następujące kontrolki dziedziczą po ContentControl i używają modelu zawartości:
Klasa ItemsControl dziedziczy z Control i może zawierać wiele elementów, takich jak ciągi, obiekty lub inne elementy. Jego właściwości to ItemsSource i Items.
ItemsSource jest zwykle używana do wypełniania ItemsControl kolekcją danych. Jeśli nie chcesz używać kolekcji do wypełniania ItemsControl, możesz dodać elementy przy użyciu właściwości Items.
Następujące kontrolki dziedziczą po ItemsControl i używają modelu zawartości:
Kontrolki zawierające nagłówek i kolekcję dowolnych obiektów
Klasa HeaderedItemsControl dziedziczy z ItemsControl i może zawierać wiele elementów, takich jak ciągi, obiekty lub inne elementy oraz nagłówek. Dziedziczy on właściwości zawartości ItemsControl, ItemsSourcei Itemsoraz definiuje właściwość Header, która może być dowolnym obiektem.
Następujące kontrolki dziedziczą po HeaderedItemsControl i używają modelu zawartości:
Klasa Decorator stosuje efekty wizualne do pojedynczego podrzędnego UIElementlub wokół niego. Właściwość jego zawartości to Child. Następujące klasy dziedziczą po Decorator i używają jej modelu zawartości:
Na poniższej ilustracji przedstawiono TextBox, który ma (ozdobiony) Border wokół niego.
TextBlock z obramowaniem
Klasy, które dostarczają wizualną informację zwrotną na temat elementu UIElement
Klasa Adorner udostępnia użytkownikowi wizualne wskazówki. Na przykład użyj Adorner, aby dodać do elementów uchwyty funkcjonalne lub udostępnić informacje o stanie kontrolki. Klasa Adorner udostępnia ramy, które umożliwiają tworzenie własnych zdobników. WPF nie zapewnia żadnych zaimplementowanych modułów adoratorów. Aby uzyskać więcej informacji, zobacz Adorners Overview.
Klasy, które umożliwiają użytkownikom wprowadzanie tekstu
WPF udostępnia trzy podstawowe kontrolki, które umożliwiają użytkownikom wprowadzanie tekstu. Każda kontrolka wyświetla tekst inaczej. W poniższej tabeli wymieniono te trzy kontrolki związane z tekstem, ich możliwości podczas wyświetlania tekstu oraz ich właściwości zawierające tekst kontrolki.
TextBlock ma dwie właściwości zawartości: Text i Inlines. Jeśli chcesz wyświetlić tekst używający spójnego formatowania, właściwość Text jest często najlepszym wyborem. Jeśli planujesz używać innego formatowania w całym tekście, użyj właściwości Inlines. Właściwość Inlines jest kolekcją obiektów Inline, które określają sposób formatowania tekstu.
TextElement i powiązane z nią klasy umożliwiają formatowanie tekstu.
TextElement obiekty zawierają i formatują tekst w obiektach TextBlock i FlowDocument. Dwa podstawowe typy obiektów TextElement są elementami Block i elementami Inline. Element Block reprezentuje blok tekstu, taki jak akapit lub lista. Element Inline reprezentuje część tekstu w bloku. Wiele klas Inline określa formatowanie tekstu, do którego są stosowane. Każdy TextElement ma własny model zawartości. Aby uzyskać więcej informacji, zobacz TextElement Content Model Overview.
Zobacz też
Zaawansowane
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie
.NET Desktop feedback
.NET Desktop feedback
to projekt typu open source. Wybierz link, aby przekazać opinię:
Dowiedz się więcej o typowych składnikach interfejsu użytkownika programu Windows Presentation Foundation, nazywanych kontrolkami, ale które mogą nie dziedziczyć z klasy Control.
Przejrzyj kontrolki programu Windows Presentation Foundation pogrupowane w kategorie, które mogą pomóc wybrać odpowiednią kontrolkę, porównując podobne kontrolki.
Dowiedz się, jak utworzyć i odwołać się do szablonu kontrolki w programie Windows Presentation Foundation i na platformie .NET. Szablony można zaimplementować w słowniku zasobów.
Dowiedz się więcej o zasobach XAML w programie Windows Presentation Foundation (WPF) dla platformy .NET. Omówienie typów zasobów XAML związanych ze stylami i motywami.
Dowiedz się więcej o zestawie funkcji, które umożliwiają projektantowi aplikacji, dokumentu lub interfejsu użytkownika (UI) tworzenie atrakcyjnych wizualnie aplikacji w WPF.