簡體   English   中英

TagVisualizer-處於活動狀態時-阻止文本框觸摸ScatterViewItem內部的鍵盤焦點

[英]TagVisualizer - when active - blocks Textbox touch Keyboard focus inside a ScatterViewItem

我有一個TagVisualizer覆蓋了整個屏幕。 嵌套在其中的是全屏ScatterView 在我的ScatterViewItemsUserControl ,它列出了n個SurfaceTextBoxs UserControlScatterViewItems始終可見。

例如

<TagVisualizer Panel.ZIndex="1">
<TagVisualizer.Definitions>
...
<TagVisualizer.Definitions>

<ScatterView Panel.ZIndex="2">
<ScatterViewItem />
<ScatterViewItem />
<ScatterViewItem >
<UserControl />
</ScatterViewItem>
...
</ScatterView>
</TagVisualizer>

我的問題是,當桌上沒有可識別的標簽時,觸摸輸入有效,鍵盤彈出並正常運行。 但是,當桌子上的標簽被識別時,鍵盤將不再專注於文本塊,並且不會對用戶的觸摸輸入做出反應。 我以為將內容zindex分層可以解決此問題,但我錯了...

令人沮喪的是,我的代碼與Surface Input Simulator工具兼容,但不適用於設備本身。 (標記和觸摸工具選項,而不是鼠標)。

  • 標簽精確切出,不會在桌面上顯示為斑點或手指觸摸。
  • 將內容從scatterview拖放到庫欄等均按預期工作。
  • 其他按鈕和觸摸元素均按預期工作
  • 每個標簽的來源是IsHitTestVisible = false並且沒有按鈕等(只有一個橢圓,如果被識別,它會向我顯示標簽的位置)
  • 只有鍵盤功能無法正常運行。

我相信其背后的原因是由於Tag捕獲了Mouse上下文並且不會放開,並且默認的Keyboard功能不需要觸摸輸入,而是需要單個鼠標事件。 識別標簽后,如何在SurfaceTextBox (在UserControl內部)上使鍵盤工作?

我是WPF新手,這個問題讓我有點頭疼...我查看了SDK示例,但找不到解決方案。.我在做某些愚蠢的事情,還是在做一些簡單的不做/錯過了? ?

任何幫助將是感激的:)

在研究了有關Surface 2.0程序的鍵盤結構的更多信息之后,並再次按照“購物車”示例,您必須使用Surface 2.0鍵盤,而不是Tablet鍵盤(您可以在控制面板中打開/關閉該鍵盤)。 我以為兩個鍵盤都可以相同地操作而犯了一個愚蠢的錯誤……不。

Surface 2.0鍵盤可以接受觸摸輸入並可以與TagVisualizers一起TagVisualizers 這是由於將鍵盤綁定到某些SurfaceTextBoxes ,即使沒有單擊鼠標也可以進行觸摸輸入。

除非有鼠標輸入觸摸,否則Tablet Windows的默認Windows鍵盤不能與觸摸輸入一起使用(當沒有其他輸入時,最后一個當前的活動觸摸輸入將被提升為鼠標)。 當未指定上方鍵盤且在“控制面板”中啟用該鍵盤時,始終顯示該鍵盤。 TagVisualizers一起TagVisualizers時,這很TagVisualizers因為當沒有鼠標/觸摸輸入但有一個可識別的標簽時。此標簽將竊取聯系人,直到您將其取下。

Surface 2.0鍵盤不存在此問題。 當您使用Surface 2.0鍵盤進行開發時,平板電腦鍵盤將占據您的位置(令人討厭),直到您通過Surface Shell運行軟件為止。

要開發程序並查看Surface 2.0鍵盤,您將必須具有一個針對Surface的開發環境,並且必須針對它進行設置。 例如在Samsung SUR40等上開發

  1. http://msdn.microsoft.com/en-us/library/ff727875.aspx Windows模式下的測試
  2. http://msdn.microsoft.com/zh-cn/library/ff727840.aspx測試/調試表面
  3. http://msdn.microsoft.com/zh-cn/library/ff727766.aspx Surface鍵盤

附言:我認為這是正確的...我仍在研究這個問題,如果我找到解決方法,我會更新我的答案...

編輯:

要擴展此答案,您應該對應用程序進行編碼以使用Surface Shell,通過啟動程序,您應該從可用應用程序的選擇中啟動應用程序,並且/或者如果您正在為商店編程,則將Shell設置為一種應用程序模式環境。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM