簡體   English   中英

自定義控件畫布,防止在scrollviewer中滾動-Windows運行時

[英]Custom control canvas preventing scrolling in scrollviewer - Windows Runtime

我有一個ScrollViewer ,它擁有一個StackPanel (垂直),其中包含我設計的一些非常廣泛的自定義控件。 ScrollViewer在那里,允許用戶水平滾動自定義控件。

當我在模擬器上使用鼠標輸入時,會出現一個滾動條,並且效果很好。 當我將觸摸輸入用於模擬器時,可以通過拖動自定義控件來滾動,但只能在某些區域中滾動。 如果我嘗試從自定義控件中的Canvas元素開始進行觸摸拖動,將無法正常工作。 但是,如果我從該畫布外部開始拖動(在邊距空間等位置),它將按您期望的方式工作。

畫布中包含一些用於自定義控件內各種功能的操作事件處理程序。 它們是否有可能竊取輸入,從而ScrollViewer無法完成其工作? 如果是這樣,我有什么辦法讓他們向上報告ScrollViewer的輸入? 還是我在錯誤的地方進行調查?

我可以按要求發布代碼。

編輯:

經過仔細的調查,我發現了一些東西。 我的廣泛控件內部有一些(其他)自定義控件,還包含許多行。 當我在一行上開始拖動時,它的拖動效果與預期的一樣。 所有其他空間都填充有第二個自定義控件(非常緊湊)。 事實證明,我的自定義控件正在竊取輸入。 我在第二個自定義控件中取消選中了主畫布上的所有交互類型,並將“ 操縱”設置為縮放而不是系統。 將這些設置回默認值可解決此問題。

經過仔細的調查,我發現了一些東西。 我的廣泛控件內部有一些(其他)自定義控件,還包含許多行。 當我在一行上開始拖動時,它的拖動效果與預期的一樣。 所有其他空間都填充有第二個自定義控件(非常緊湊)。 事實證明,我的自定義控件正在竊取輸入。

重要部分:

我在第二個自定義控件中取消選中了主畫布上的所有交互類型,並將“ 操縱”設置為縮放而不是系統(這可能是竊取輸入的部分)。 將這些設置回默認值可解決此問題。

PS:我覺得很蠢

暫無
暫無

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

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