/ / Różnica między etykietą a funkcją TextBlock - wpf, label, textblock

Różnica między etykietą a funkcją TextBlock - wpf, label, textblock

Według Programowanie aplikacji systemu Windows w Microsoft .NET 4 70-511 Zestaw szkoleniowy

Jaka jest różnica między Label kontrola i TextBlock kontrola, ponieważ oba są elementami kontroli treści i wyświetlają tylko tekst?

Odpowiedzi:

171 dla odpowiedzi nr 1

TextBlock nie jest kontrolą

Nawet jeśli TextBlock mieszka w przestrzeni nazw System.Windows.Controls, to nie jest kontrola. Pochodzi bezpośrednio od FrameworkElement. Etykieta z drugiej strony pochodzi od ContentControl. To znaczy że Label mogą:

  1. Dostań niestandardowy szablon kontrolny (przez Template własność).
  2. Wyświetl dane inne niż tylko ciąg znaków (przez Content własność).
  3. Zastosuj a DataTemplate do jego treści (za pośrednictwem ContentTemplate własność).
  4. Zrób cokolwiek innego ContentControl może to zrobić FrameworkElement nie może.

    • Label tekst jest wyszarzony po wyłączeniu
    • Label obsługuje klucze dostępu
    • Label jest o wiele cięższy niż TextBlock

Źródło

Kilka ciekawszych odczytów poniżej


20 dla odpowiedzi nr 2

Label jest ContentControl co oznacza, że ​​możesz ustawić cokolwiek jako treść dla niego. Absolutnie wszystko, w tym ciągi, liczby, daty, inne elementy sterujące, obrazy, kształty itp. TextBlock może obsługiwać tylko strings.


19 dla odpowiedzi nr 3

Etykiety zazwyczaj obsługują wyświetlanie tekstu w jednym wierszu, podczas gdy blok TextBlock jest przeznaczony do wyświetlania tekstu wielowierszowego.

Na przykład we wpf TextBlock ma właściwość TextWrapping co umożliwia wejście wieloliniowe; Etykieta tego nie ma.


5 dla odpowiedzi № 4

Chociaż TextBlock i Label są używane do wyświetlania tekstu, są one zupełnie inne pod okładkami.

=> Etykieta dziedziczy z ContentControl, klasa bazowa, która umożliwia wyświetlanie prawie dowolnego interfejsu użytkownika, jaki można sobie wyobrazić.

=> TextBlock, z drugiej strony, dziedziczy bezpośrednio z FrameworkElement, w ten sposób tracąc wspólne zachowaniedo wszystkich elementów dziedziczących po kontroli. Płytka hierarchia dziedziczenia TextBlock sprawia, że ​​kontrola jest lżejsza niż etykieta i lepiej nadaje się do prostszych, nieinteraktywnych scenariuszy.

PS: Jeśli chcesz klucze dostępu do pracy lub chcesz bardziej elastyczny lub graficzny projekt, musisz użyć etykiety.