Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подсказка — это небольшое всплывающее окно, которое отображается, когда указатель мыши задерживается над элементом, например, над Button. Когда пользователь перемещает указатель мыши на элемент с подсказкой, окно, содержащее содержимое подсказки (например, текстовое содержимое, описывающее функцию элемента управления) отображается в течение указанного периода времени. Если пользователь перемещает указатель мыши от элемента управления, окно исчезает, так как содержимое подсказки не может получить фокус.
На следующем рисунке показан указатель мыши, указывающий на ЗакрытьButton, отображающий его идентификационный текст ToolTip.
Кнопка "Закрыть" с отображением подсказки
Содержимое подсказки может содержать одну или несколько строк текста, изображений, фигур или другого визуального содержимого. Вы определяете подсказку для элемента управления, задавая одно из следующих свойств как содержание подсказки:
Используемое свойство зависит от того, наследуется ли элемент управления, определяющий подсказку, от класса FrameworkContentElement или класса FrameworkElement.
Создание подсказки
В следующем примере показано, как создать простую подсказку, задав свойству ToolTip элемента управления Button значение в виде текстовой строки.
<Button ToolTip="Click to submit your information"
Click="SubmitCode" Height="20" Width="50">Submit</Button>
Вы также можете определить подсказку как ToolTip объект. В следующем примере XAML используется для задания объекта ToolTip в качестве всплывающей подсказки для элемента TextBox. В примере указывается ToolTip путем задания свойства FrameworkElement.ToolTip.
<TextBox HorizontalAlignment="Left">ToolTip with non-text content
<TextBox.ToolTip>
<ToolTip>
<DockPanel Width="50" Height="70">
<Image Source="data\flower.jpg"/>
<TextBlock>Useful information goes here.</TextBlock>
</DockPanel>
</ToolTip>
</TextBox.ToolTip>
</TextBox>
В следующем примере используется код для создания ToolTip объекта. В примере создается объект ToolTip (tt) и связывается с ним Button.
button = new Button();
button.Content = "Hover over me.";
tt = new ToolTip();
tt.Content = "Created with C#";
button.ToolTip = tt;
cv2.Children.Add(button);
button = New Button()
button.Content = "Hover over me."
tt = New ToolTip()
tt.Content = "Created with Visual Basic"
button.ToolTip = tt
cv2.Children.Add(button)
Вы также можете создать содержимое подсказки, которое не определено как ToolTip объект, заключив содержимое подсказки в элемент макета, например DockPanel. В следующем примере показано, как установить свойство ToolTip элемента TextBox, который содержит контент, заключенный в элементе управления DockPanel.
<TextBox>
ToolTip with image and text
<TextBox.ToolTip>
<StackPanel>
<Image Source="data\flower.jpg"/>
<TextBlock>Useful information goes here.</TextBlock>
</StackPanel>
</TextBox.ToolTip>
Настройка подсказки
Вы можете настроить содержимое подсказки, задав визуальные свойства и применяя стили. Если вы определяете содержимое подсказки как ToolTip объект, можно задать визуальные свойства ToolTip объекта. В противном случае необходимо задать эквивалентные присоединенные свойства для ToolTipService класса.
Пример установки свойств для указания положения содержимого подсказки с помощью свойств ToolTip и ToolTipService см. в разделе «Положение подсказки».
Свойства интервала времени
Класс ToolTipService предоставляет следующие свойства для задания времени отображения подсказки: InitialShowDelay, BetweenShowDelayи ShowDuration.
Используйте свойства InitialShowDelay и ShowDuration, чтобы указать задержку, как правило короткую, перед тем, как ToolTip появится, а также чтобы установить продолжительность видимости ToolTip. Дополнительные сведения см. в разделе "Практическое руководство. Задержка отображения подсказки".
Свойство BetweenShowDelay определяет, отображаются ли подсказки для различных элементов управления без начальной задержки при быстром перемещении указателя мыши между ними. Дополнительные сведения о свойстве BetweenShowDelay см. в разделе "Использование свойства BetweenShowDelay".
В следующем примере показано, как задать эти свойства для подсказки.
<Ellipse Height="25" Width="50"
Fill="Gray"
HorizontalAlignment="Left"
ToolTipService.InitialShowDelay="1000"
ToolTipService.ShowDuration="7000"
ToolTipService.BetweenShowDelay="2000">
<Ellipse.ToolTip>
<ToolTip Placement="Right"
PlacementRectangle="50,0,0,0"
HorizontalOffset="10"
VerticalOffset="20"
HasDropShadow="false"
Opened="whenToolTipOpens"
Closed="whenToolTipCloses"
>
<BulletDecorator>
<BulletDecorator.Bullet>
<Ellipse Height="10" Width="20" Fill="Blue"/>
</BulletDecorator.Bullet>
<TextBlock>Uses the ToolTip Class</TextBlock>
</BulletDecorator>
</ToolTip>
</Ellipse.ToolTip>
</Ellipse>
Стили и шаблоны
Вы можете изменить значение по умолчанию ControlTemplate , чтобы предоставить ToolTip элементу управления уникальный внешний вид. Дополнительные сведения см. в статье "Что такое стили и шаблоны?", а также как создать шаблон для элемента управления.
Стилизовать всплывающую подсказку
Вы можете оформить ToolTip, определив пользовательское Style. В следующем примере определяется Style, называемый Simple, который показывает, как сместить размещение ToolTip и изменить его внешний вид, задав Background, Foreground, FontSize и FontWeight.
<Style TargetType="ToolTip">
<Setter Property = "HorizontalOffset" Value="10"/>
<Setter Property = "VerticalOffset" Value="10"/>
<Setter Property = "Background" Value="LightBlue"/>
<Setter Property = "Foreground" Value="Purple"/>
<Setter Property = "FontSize" Value="14"/>
<Setter Property = "FontWeight" Value="Bold"/>
</Style>
Свойство Content
Свойство ContentControl.Content является свойством содержимого элемента управления ToolTip. Это свойство можно задать непосредственно в XAML без явного указания имени свойства.
Комплектующие
Этот элемент управления не определяет какие-либо части шаблона.
Визуальные состояния
В следующей ToolTip таблице перечислены визуальные состояния элемента управления.
| Имя VisualState | Имя VisualStateGroup | Description |
|---|---|---|
| Закрытый | OpenStates | Подсказка закрыта и не отображается. |
| Откройте | OpenStates | Подсказка открыта и видна. |
| Действительный | ValidationStates | Элемент управления действителен и не имеет ошибок проверки. |
| НедействительныйФокус | ValidationStates | Элемент управления имеет ошибку проверки и находится в фокусе клавиатуры. |
| НедействительныйНефокусированный | ValidationStates | Элемент управления имеет ошибку проверки, но не имеет фокуса клавиатуры. |
См. также
.NET Desktop feedback