В чем разница между элементом WPF TextBlock и элементом управления Label? [дубликат]
этот вопрос уже есть ответ здесь:
разница между меткой и TextBlock
4 ответы
визуально оба следующих фрагмента создают один и тот же пользовательский интерфейс. Так почему же есть 2 элемента управления..
Snippet1
<TextBlock>Name:</TextBlock>
<TextBox Name="nameTextBox" />
Snippet2
<Label>Name:</Label>
<TextBox Name="nameTextBox" />
(Ну я собираюсь ответить на это сам... думал, что это полезный лакомый кусочек, который я узнал сегодня от Программирование WPF)
6 ответов:
метка имеет важное обработка фокуса ответственность.Его цель состоит в том, чтобы позволить вам разместить подпись с ключом доступа. Он имеет цель свойство, которое указывает цель ключа доступа. Вроде этого...
<Label Target="{Binding ElementName=nameTextBox}">_Name:</Label> <TextBox x:Name="nameTextBox" />в отсутствие целевого свойства элемент управления Label не делает ничего полезного. Вы просто услышите звуковой сигнал, если вы нажмете клавишу доступа, указывающую "невозможно обработать запрос"
две самые большие причины путаницы в отношении текстовых блоков и меток-это Windows Forms и здравый смысл.
когда вы хотели ударить небольшой кусок текста на вашей форме в Windows Forms, вы использовали метку, поэтому следует (Неправильно), что вы будете делать то же самое с меткой WPF.
здравый смысл заставит вас поверить, что ярлык легкий, а текстовый блок-нет, когда наоборот истинный.
обратите внимание, что вы можете поместить текстовый блок внутри метки.
С
TextBlockмы можем легко иметь многострочную поддержку я думаю-с помощьюTextWrapping.используя
Labelв таких случаях, например, отображение сообщений проверки, нужно использовать<AccessKey>Теги, что менее прямолинейно, чемTextBlock.С другой стороны, используя
TextBlockне позволяет нам установитьBorderBrushсобственность.Итак, для меня два элемента управления должны быть объединены в полнофункциональный текстовый элемент управления.
Label принимает все виды входных данных, таких как строка, число и т. д... TextBlock, как следует из названия, принимает только текстовую строку.
метка может использоваться в качестве альтернативы TextBlock для ситуаций, когда требуется минимальная поддержка текста, например, метка для элемента управления. Использование метки может быть выгодно, потому что она требует еще меньше ресурсов (более легкий вес), чем текстовый блок.
Comments