Разница между Label и TextBlock

по словам разработка приложений для Windows с Microsoft .NET 4 70-511 Учебный Комплект

в чем разница между Label управления и TextBlock control, так как оба являются элементами управления содержимым и просто отображают текст?

4 ответов


TextBlock не является элементом управления

хотя TextBlock живет в системе.Окна.Управляет пространством имен, это не элемент управления. Это происходит непосредственно от FrameworkElement. Ярлык, с другой стороны, происходит от ContentControl. Это значит, что Label можно:

  1. получить пользовательский шаблон управления (через Template свойства).
  2. отображать данные, отличные от строки (через Content свойства).
  3. применить DataTemplate к его содержанию (через ContentTemplate свойства).
  4. делайте все, что угодно ContentControl может сделать это FrameworkElement не может.

    • Label текст выделен серым цветом при отключении
    • Label поддерживает ключи доступа
    • Label намного тяжелее, чем TextBlock

источник

некоторые более интересные чтения ниже


Label is ContentControl это означает, что вы можете установить что-либо в качестве содержимого для него. Абсолютно все, включая строки, цифры, даты, другие элементы управления, изображения, фигуры и т. д. TextBlock С strings.


метки обычно поддерживают однострочный вывод текста, в то время как TextBlock предназначен для многострочного отображения текста.

например, в WPF TextBlock имеет свойство TextWrapping который включает многострочный ввод; метка не имеет этого.


хотя TextBlock и Label используются для отображения текста, они совершенно разные под обложками.

=>метка наследует от ContentControl базовый класс, который включает отображение практически любого пользовательского интерфейса.

=>TextBlock, С другой стороны, наследуется непосредственно от FrameworkElement, таким образом, отсутствует поведение, общее для всех элементов, наследуемых от Control. Отмель иерархия наследования TextBlock делает элемент управления легче, чем Label и лучше подходит для более простых, неинтерактивных сценариев.

PS: однако, если вы хотите ключи для работы или более гибкого или графического дизайна вам нужно будет использовать Label.