Общие сведения о всплывающих подсказках
Подсказка — это небольшое всплывающее окно, которое отображается, когда пользователь задерживает указатель мыши над элементом, например, на Button. В этом разделе рассказывается о всплывающих подсказках и о том, как создавать и настраивать их содержимое.
Что такое всплывающая подсказка?
Когда пользователь наводит указатель мыши на элемент, для которого имеется всплывающая подсказка, окно с содержимым этой подсказки (например, текстом, описывающим функции этого элемента управления) отображается в течение заданного периода времени. Когда пользователь перемещает указатель мыши за пределы элемента управления, это окно исчезает, так как теперь фокус не направлен на содержимое подсказки.
Содержимым подсказки может быть одна или несколько строк текста, изображения, фигуры или другие видимые элементы. Чтобы задать всплывающую подсказку для элемента управления, нужно задать одно из следующих свойств содержимого этой всплывающей подсказки.
Какое свойство можно использовать зависит от того, является ли элемент управления, определяющий подсказку наследует от 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);
Можно также создать содержимое подсказки, который не определен как 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 и ToolTipService
Содержимое всплывающей подсказки можно настроить, задавая его визуальные свойства и применяя стили. Если вы определяете содержимое подсказки как ToolTip объекта, можно задать визуальные свойства ToolTip объекта. В противном случае необходимо задать аналогичные присоединенные свойства на ToolTipService класса.
Например, как настроить свойства, чтобы указать положение содержимого всплывающей подсказки с помощью ToolTip и ToolTipService свойства, см. в разделе положения всплывающей подсказки.
Задание стиля всплывающей подсказки
Задать стиль 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>
Использование свойств интервала времени элемента 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>