1. 程式人生 > >WPF 在TextBox、PasswordBox獲得焦點無效解決方案

WPF 在TextBox、PasswordBox獲得焦點無效解決方案

需求:一個Window存在兩個usercontrol:A.xaml和B.xal。

A.xaml顯示,B.xaml隱藏,點選A.xaml中的按鈕自身隱藏,B.xaml顯示,並且B.xaml中的PassWrodBox(一下簡稱PWD)獲得焦點

問題:將B.xaml中的PWD設定Focus()方法獲得焦點,但是卻無效

除錯現象:1)當進行除錯時,就可以獲得焦點,直接執行則獲得焦點無效

2)直接執行獲得焦點無效,當離開該應用程式然後在切換回來則PWD獲得焦點

嘗試方法:考慮在除錯時可以成功,是否是那裡耗費了時間,所以在除錯處添加了Thread.Sleep()方法,結果失敗

正確方法:

Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Render,

new Action(() => pwdBoxPWD.Focus()));解決補充說明:

在 WPF 中,有兩個與焦點有關的主要概念:鍵盤焦點和邏輯焦點。
鍵盤焦點指接收鍵盤輸入的元素,而邏輯焦點指焦點範圍中具有焦點的元素。
具有鍵盤焦點的元素也將具有邏輯焦點,但具有邏輯焦點的元素不一定具有鍵盤焦點。
鍵盤焦點指當前正在接收鍵盤輸入的元素。  在整個桌面上,只能有一個具有鍵盤焦點的元素。
邏輯焦點指焦點範圍中的 FocusManager.FocusedElement。
焦點範圍是一個跟蹤其範圍內的 FocusedElement 的元素。
當鍵盤焦點離開焦點範圍時,焦點元素會失去鍵盤焦點,但保留邏輯焦點。當鍵盤焦點返回到焦點範圍時,焦點元素會再次獲得鍵盤焦點。

就以上解釋來說,當我們離開某個應用程式而切換到另外的可輸入的應用程式,那麼我們的程式將失去鍵盤焦點而保留邏輯焦點,當再次切換回來的時候,重新獲得鍵盤焦點

所以採取了

Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Render,

new Action(() => pwdBoxPWD.Focus()));

方法,這樣可以減少當程式切換時無畏的失去鍵盤焦點的驗證。

相關推薦

WPFTextBoxPasswordBox獲得焦點無效解決方案

需求:一個Window存在兩個usercontrol:A.xaml和B.xal。 A.xaml顯示,B.xaml隱藏,點選A.xaml中的按鈕自身隱藏,B.xaml顯示,並且B.xaml中的PassWrodBox(一下簡稱PWD)獲得焦點 問題:將B.xaml中的PWD設定

WPF設定控制元件獲得焦點FocusManager

轉載地址:http://www.cnblogs.com/tommy-huang/p/5175948.html 簡單用法如下:     在父類容器中通過附加屬性FocusManager.FocusedElement來繫結需要強制獲得焦點的控制元件,用法如下:    

editText自動獲得焦點問題解決

開發中遇到了,當view佈局發生變化時EditText自動獲取焦點的問題,而我又在監聽了onFocusChange事件,並在裡面做了處理,結果就發生了自己不想要的結果,而解決的辦法就是給editText的父view設定可獲得焦點方法如下 parentLauout.setF

Wamp訪問緩慢本地主機訪問緩慢解決方案

設置 由於 域名 可能 2.4 hit mpp 重命名 產生 Wamp訪問緩慢、本地主機訪問緩慢解決方案 Wamp訪問速度緩慢可能的原因: 1、一般原因:     Wamp的日誌文件太大。處理辦法,將位於wamp/logs/下的日誌文件

紅帽5紅帽6紅帽7 高可用解決方案的組合程序

resource lin 底層 方式 crm 一個 message 守護 ha集群 紅帽6:corosync 版本1 + pacemaker + pcs或crmsh corosync 版本1 + cman + pacemaker 紅帽7:corosync + pac

xpath中的ends-with無效解決方案

xpath定位 ends-with xpath中的ends-with() 多測師 xpath定位遇到如下問題://*[ends-with(@id,"多測師")]定位不到以"多測師"結尾的元素

超融合低成本高可用私有雲解決方案

桌面 term 問題 acl 分布式文件 single 設置 u盤 共享存儲 proxmox是一款開源的虛擬化管理平臺,在服務器虛擬化方面有不俗的表現。曾經有個單cpu 4線程、16G內存、300G內存開20多個centos,並且上面的應用都是tomcat的交易系統,穩定運

Android中設定ListView的item高度無效--解決方案

原文地址:https://blog.csdn.net/zhonglinliu/article/details/54580622   問題:      ListView的使用中,item是在adapter中用來顯示每一個小條目的資

穆迪分析與普華永道合作提供“端到端”的精算會計和業務專業解決方案,以協助保險公司實現IFRS 17的合規

倫敦 -- (美國商業資訊) -- 穆迪分析與普華永道今日宣佈,雙方將合作向市場提供一流的技術、實施和諮詢解決方案,以在全球範圍內協助保險公司應對《國際財務報告準則第17號: 保險合同》(IFRS17)。 普華永道全球保險業IFRS 17部門的主管Alex Bertolotti表示:“保險公

緩存穿透緩存擊穿緩存雪崩及其解決方案

信息 不存在 相同 但是 崩潰 存儲 搜索 普通 攻擊 1.緩存穿透   緩存穿透是指查詢一個一定不存在的數據,因為緩存中也無該數據的信息,則會直接去數據庫層進行查詢,從系統層面來看像是穿透了緩存層直接達到DB,從而稱為緩存穿透,沒有了緩存層的保護,這種查詢一定不存在的數據

ElasticSearch教程——Search相關deep paging問題及解決方案

搜尋所有索引 GET /_search 返回結果 { "took": 6, "timed_out": false, "_shards": { "total": 16, "successful": 16, "skipped":

springcloud非同步執行緒池高併發請求feign解決方案

ScenTaskTestApplication.java package com.test; import org.springframework.boot.SpringApplication; import org.springframework.boot.a

ORA-00904: 識別符號無效——解決方案

轉自:https://blog.csdn.net/jajavaja/article/details/49122639 建表時列名用雙引號引著(用Navicat工具建表預設是加上雙引號的),java連線時就會報錯ORA-00904:   識別符號無效;把雙引去掉就不會報錯了 原: CREATE

【Layui】關於做了分頁後點擊刪除按鈕無效(或者在任何框架點選一個按鈕無效解決方案

author:咔咔 wechat:fangkangfk   案例:   在ajax拼裝完資料後,怎麼點選刪除都是沒有反應,一直以為是資料拼接錯了,最後才反應過來,使用js拼裝起來的資料屬於未來元素,所以點選是沒有用的   所以使用l

推廣域名被微信中被攔截封殺遮蔽的原因以及解決方案

科普: 域名被微信封殺,顯示的是連結無法訪問; 域名被微信攔截,是跟淘寶一樣-如需瀏覽,請長按網址複製後使用瀏覽器訪問。域名被微信遮蔽,顧名思義,遮蔽,肯定是看不到!!域名被信封,確實很多因素有關,簡單列舉下: 1、微信規定域名要備案,並且要加白名單,新買的域名沒做站就被封,應該是搶的剛被人放棄的域

[視訊]物聯網&整合系統中的物聯互動資料儲存效果展示形成快速解決方案。附:ServerSuperIO 3.6.2 版本釋出。

增加併發模式下設定輪詢傳送裝置資料的間隔時間ParallelDeviceInterval屬性。如果有N個裝置,ParallelDeviceInterval預設值為10毫秒,ParallelInterval預設值為1000毫秒,那麼其中一個裝置的排程週期=1000+10*N。

Android HTTPSTLS版本支援相關解決方案

轉自:http://blog.csdn.net/s003603u/article/details/53907910 前言 在網際網路安全通訊方式上,目前用的最多的就是https配合ssl和數字證書來保證傳輸和認證安全 簡介 結合okhttp實現https訪問,並解決

使用Charles進行HTTPS抓包(包括安裝信任證書以及抓包 出現無法抓包unknown和證書無效解決方案

背景: 在進行App測試或定位線上問題時,經常會遇到抓取HTTPS資料包的需求。一般在windows上會使用fiddler,Mac上使用Charles。對於https請求,抓到的資料因為經過了加密,只能看到亂碼。 本文介紹如何使用Charles來抓取https網路報文

大資料量高併發量網站解決方案

      一個小型的網站,可以使用最簡單的html靜態頁面就實現了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網站對系統架構、效能的要求都很簡單。隨著網際網路業務的不斷豐富,網站相關的技術經過這些年的發展,已經細分到很細的方方面面,尤其對於大型網站來說

快取穿透快取擊穿快取雪崩區別和解決方案

一、快取處理流程       前臺請求,後臺先從快取中取資料,取到直接返回結果,取不到時從資料庫中取,資料庫取到更新快取,並返回結果,資料庫也沒取到,那直接返回空結果。        二、快取穿透        描述:        快取穿透是指快取和資料庫中都