WPF教程(二十一)工具提示
工具提示有各種叫法,意思都是一樣的:在滑鼠停留在某一個控制元件或者某個連結上時,顯示其對應的額外資訊。WPF中通過使用FrameworkElement基類中的ToolTip屬性來實現,幾乎所有控制元件都繼承於此類。
為控制元件指定一個工具提示非常簡單,如下:
<span style="font-size:14px;"><Window x:Class="WpfTutorialSamples.Control_concepts.ToolTipsSimpleSample" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="ToolTipsSimpleSample" Height="150" Width="400"> <Grid VerticalAlignment="Center" HorizontalAlignment="Center"> <Button ToolTip="Click here and something will happen!">Click here!</Button> </Grid> </Window></span>
截圖中你可以看到,一旦滑鼠停留在按鈕上,就會出現一個浮動的小框,顯示了具體的資訊。大部分UI框架都提供這個資訊——就顯示一行文字。
但是,在WPF中,ToolTip屬性實際上不是一個字串型別,而是一個物件型別,也就是說我們可以把任何東西放到裡面。這樣的開放方式使得很多可能得以實現,從而給使用者提供非常豐富有幫助的提示。
<span style="font-size:14px;"><Window x:Class="WpfTutorialSamples.Control_concepts.ToolTipsAdvancedSample" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="ToolTipsAdvancedSample" Height="200" Width="400" UseLayoutRounding="True"> <DockPanel> <ToolBar DockPanel.Dock="Top"> <Button ToolTip="Create a new file"> <Button.Content> <Image Source="/WpfTutorialSamples;component/Images/page_white.png" Width="16" Height="16" /> </Button.Content> </Button> <Button> <Button.Content> <Image Source="/WpfTutorialSamples;component/Images/folder.png" Width="16" Height="16" /> </Button.Content> <Button.ToolTip> <StackPanel> <TextBlock FontWeight="Bold" FontSize="14" Margin="0,0,0,5">Open file</TextBlock> <TextBlock> Search your computer or local network <LineBreak /> for a file and open it for editing. </TextBlock> <Border BorderBrush="Silver" BorderThickness="0,1,0,0" Margin="0,8" /> <WrapPanel> <Image Source="/WpfTutorialSamples;component/Images/help.png" Margin="0,0,5,0" /> <TextBlock FontStyle="Italic">Press F1 for more help</TextBlock> </WrapPanel> </StackPanel> </Button.ToolTip> </Button> </ToolBar> <TextBox> Editor area... </TextBox> </DockPanel> </Window></span>
第一個按鈕用了非常簡單的一行文字作為提示。第二個按鈕使用一個容器作為根控制元件,然後得以把我們想要的控制元件放進去。結果很酷:一個標題、一段描述以及一個圖示,提示你可以按F1獲取更多幫助。
高階選項
在ToolTipService類中,有一些實用的屬性,用於改變工具提示的展示。你可以直接在支援工具提示的控制元件裡設定這些屬性,例如,通過使用ShowDuration屬性來延長提示的顯示時間(這裡設定了5秒)
<span style="font-size:14px;"> <Button ToolTip="Create a new file" ToolTipService.ShowDuration="5000" Content="Open" /> </span>
總結
工具提示對使用者幫助很大,在WPF中,使用簡單且非常靈活。在你的應用中,通過使用ToolTipService類的屬性來設計工具提示,以建立一個使用者友好的內聯幫助系統。
相關推薦
WPF教程(二十一)工具提示
工具提示有各種叫法,意思都是一樣的:在滑鼠停留在某一個控制元件或者某個連結上時,顯示其對應的額外資訊。WPF中通過使用FrameworkElement基類中的ToolTip屬性來實現,幾乎所有控制元件都繼承於此類。 為控制元件指定一個工具提示非常簡單,如下:<span
Spring.NET教程(二十一)整合Web Service(應用篇)
desc 例子 art 需要 ace 換工作 ali 關聯 private 雖然目前.net對WebService支持的非常好,Spring.NET認為還是有幾個方面可以改進: 第一、.NET在.asmx文件中保存WebService請求和服務對象的關聯關系,這些.asm
JavaFX UI控制元件教程(二十一)之Tooltip
翻譯自 Tooltip 在本章中,您將瞭解工具提示,即當滑鼠游標懸停該控制元件時,可以為任何UI控制元件設定的控制元件。 的Tooltip類表示通常用於顯示關於所述使用者介面的控制附加資訊的公共UI元件。可以通過呼叫setTooltip方法在任何控制元件上設定工具提示。
WPF教程(二十五)WrapPanel
WrapPanel用於一個接一個的排列子控制元件,以水平或者垂直方向,當空間不足時就會自動切換到下一行。適合於需要水平或者垂直排列控制元件且能自動換行的情況。 水平方向排列時,每一行所有子控制元件的高度都被統一成固定的值,這個值由最高的那個決定;每一列垂直方向排列時,所有子
Senparc.Weixin.MP SDK 微信公眾平臺開發教程(二十一):在小程式中使用 WebSocket (.NET Core)
本文將介紹如何在 .NET Core 環境下,藉助 SignalR 在小程式內使用 WebSocket。關於 WebSocket 和 SignalR 的基礎理論知識不在這裡展開,已經有足夠的參考資料,例如參考 SignalR 的官方教程:https://docs.microsoft.com/zh-cn/a
Golang教程:(二十一)協程
在上一篇教程中,我們討論了併發,以及併發和並行的區別。在這篇教程中我們將討論在Go中如何通過Go協程實現併發。 什麼是協程 Go協程(Goroutine)是與其他函式或方法同時執行的函式或方法。可以認為Go協程是輕量級的執行緒。與建立執行緒相比,建立
WPF教程(二十)密碼框
WPF中編輯常規的文字都是使用文字框,但是如果是輸入密碼呢?功能應該是一樣的,但是我們不想周邊的人看著我們一個字母一個字母的輸入,這樣密碼就被洩漏了,因此我們想用別的字元來替代真實密碼的顯示。出於這個目的,WPF有一個密碼框控制元件,用起來和文字框一樣。 <span
SQL語句(二十一)—— 觸發器(DML觸發器)
cti lock dml set sql語句 事件 check約束 服務 expand 觸發器 一 、觸發器概述(特殊的存儲過程) 定義: 在修改指定表值的數據時執行的 存儲過程. 不同的是 : 執行存儲過程要使用EXEC語句來調用,而觸發器的執行不需要使用EX
Android學習路線(二十一)運用Fragment構建動態UI——創建一個Fragment
動態 app idt 文檔 部分 roi 現實 調用 android學習 你能夠把fragment看成是activity的模塊化部分。它擁有自己的生命周期,接受它自己的輸入事件,你能夠在activity執行時加入或者刪除它(有點像是一個“子activity”。你
(二十一)Struts2 數據標簽
env 字符串 property http smi syn mit selected ont Struts2 的數據標簽主要用於操作頁面上顯示的數據。下面列出了主要的數據標簽: action標簽 此標簽允許開發人員通過指定action名稱和可選的命名空間直接從JSP頁面調用
Python學習筆記(二十一)
準備 for ring 價格 python use imp pri exce 使用ElementTree解析XML文件 # 導入Python中內置的處理XML文件的模塊try: import xml.etree.cElementTree as ETexcept Imp
Java學習筆記(二十一):類型轉換和instanceof關鍵字
方法 png true feed out 實例 strong 運算符 nbsp 基本數據類型轉換: 自動類型轉換:把大類型的數據賦值給大類型的變量(此時的大小指的是容量的範圍) 1 byte b = 12; //byte是一個字節 2 int i = b; //i
圖像處理(二十一)基於數據驅動的人臉卡通動畫生成-Siggraph Asia 2014
ssi 原來 大於 搜索 nbsp details 一起 fontsize man http://blog.csdn.net/garfielder007/article/details/50582018 在現實生活中,我們經常會去評價一個人,長得是否漂亮、是不是帥哥美女,然
Python學習(二十一) —— 前端之JavaScript
開始 mode mba html 國際 sca 執行 嵌入式 規範 轉載自http://www.cnblogs.com/liwenzhou/p/8004649.html 一、JavaScript概述 1.JavaScript的歷史 1992年Nombas開發出C-mi
企業分布式微服務雲SpringCloud SpringBoot mybatis (二十一)構建restful API
tis lis bind strong img tro entity 數據源 host 引入依賴 在pom文件引入mybatis-spring-boot-starter的依賴: <dependency> <groupId>o
Jmeter(二十一)Jmeter常見問題及場景應用
con 當前 登陸 log jenkins path 業務 參數 以及 Jmeter作為工具來講,已經是一個相對比較牛掰的工具,除了它能夠支持那麽多協議以及方法之外,更在與它的前置處理以及後置處理、同步監控的人性化。當然,所有的工具、框架都是作為業務的支撐,如果不能滿足
Linux學習總結(二十一)正則三劍客之awk
awkawk 也是流式編輯器,它比sed的功能更強大 1.截取文檔中的某段 awk -F ‘:‘ ‘{print $1}‘ /etc/passwd |head -2-F 指定分割符,不指定以空格或者tab為分隔符print 為打印動作$1 為第一字段, $2 為第二字段,依次類推,$0標示整行那麽打印整個文檔
Vue(二十一)使用express模擬接口數據
引入 undefine 數據 img htm eve IT image customer 1.下載express ... 2.使用vue-cli下載好項目文件 ... 3.找到文件 build - webpack.dev.conf.js ‘use strict‘ cons
C之 #error 和 #line(二十一)
C語言 #error #line 我們今天來講下 C 語言中的兩個比較偏僻的知識點,之所以說偏僻是因為在平時的代碼中我們見得很少。首先來說下 #error,它是用於生成一個編譯錯誤消息。用法如下:#error message;註意 message 不需要用雙引號包圍。#error
Android開發實戰(二十一):淺談android:clipChildren屬性
.cn viewpage port 部分 lap ole 有一個 默認 版本 原文:Android開發實戰(二十一):淺談android:clipChildren屬性實現功能: 1、APP主界面底部模塊欄 2、ViewPager一屏多個界面顯示 3、........