潘鹏整理WPF(4)工具提示ToolTip&&Popup

来源:互联网 发布:windows任务栏不见了 编辑:程序博客网 时间:2024/04/24 13:09

ToolTip

简单使用

<Label Height="50"  Content="This is Label Control!" ToolTip="这是一个Label控件">

当鼠标移动在Label时下方出现提示信息
这里写图片描述

复杂使用

<Label Height="50"  Content="This is Label Control!" >    <Label.ToolTip>       <ToolTip Background="Blue" Placement="Mouse" HorizontalOffset="2" VerticalOffset="5">            <StackPanel>                 <Image Source="511c686cdacf4.jpg" Height="90" />                  <Label Content="哆啦A梦"/>             </StackPanel>        </ToolTip>                    </Label.ToolTip></Label>

当鼠标移动在Label时下方出现提示信息
这里写图片描述

  • Placement设置基准,以鼠标为基准,鼠标碰触到Label时出现提示,当然也有以窗口为基准等
  • HorizontalOffset||VerticalOffset设置方向,提示的信息以基准出现的地方,如果你喜欢,它可以出现在窗口外面

先放张效果图:
这里写图片描述
当鼠标移动到Size大一点的here时,出现“我的博客地址是csdn地址”,当点击csdn地址时,就会转到我们预先设置的网址上,前提是网络是畅通的
这个效果很像很多国外的公司介绍自己的产品一样,here、other等等,点击就跳转另一个网页。

<TextBlock Height="50"  Text="如果想查看我的博客,请点击" Margin="0,0,0.4,0" >    <Run Text="here"          TextDecorations="Underline"          FontSize="20"         MouseEnter="ContentElement_OnMouseEnter"/></TextBlock><Popup Name="popupTest"       StaysOpen="False"       Placement="Mouse"       MaxWidth="200">       <Border BorderBrush="Aqua" BorderThickness="3" Background="White">             <TextBlock Text="我的博客地址是">                  <Hyperlink NavigateUri="http://write.blog.csdn.net/postedit"                             Click="Hyperlink_OnClick"                             >csdn地址</Hyperlink>               </TextBlock >        </Border></Popup> private void ContentElement_OnMouseEnter(object sender, MouseEventArgs e){     this.popupTest.IsOpen = true;}private void Hyperlink_OnClick(object sender, RoutedEventArgs e){      Process.Start(((Hyperlink)sender).NavigateUri.ToString());}
  1. 一个TextBlock先写一些铺垫的文字,例如“如果想查看我的博客,请点击”

  2. 在其中嵌套Run,给它插入一段文字,例如“here”,将字体放大、加一个下划线,加一个MouseEnter事件,这个事件来设置控件Popup的IsOpen 是打开状态

  3. 使用Popup控件,StaysOpen = true的话,出现提示框后即使失去焦点也不会消失;

  4. Popup内嵌套一个边框Border

  5. Border内嵌套一个TextBlock,加入一段铺垫的文字,例如“我的博客地址是”

  6. TextBlock内加入一个Hyperlink
    NavigateUri属性来填写网址
    Hyperlink加的文本,是自动高亮的,例如“csdn地址”
    添加一个Click事件,code呢,就是Process.Start(((Hyperlink)sender).NavigateUri.ToString());

0 0