簡體   English   中英

未在模板化控件 [UWP] 上觸發的操作事件

[英]Manipulation events not triggering on Templated Control [UWP]

我正在嘗試為 UWP 應用程序實現自定義控件(模板化控件)以轉換形狀(主要是矩形類型)。 自定義控件將在 UWP class 庫和參考主項目中實現。 我想要實現的是圍繞另一個基本形狀(例如:矩形)繪制自定義控件,並根據對自定義控件進行的操作來轉換形狀。

我正在嘗試使用操作事件(ManipulationDelta、ManipulationCompleted)來實現控件。

我能夠使用與指針相關的事件(PointerPressed、PointerMoved、PointerReleased)來實現類似的行為,但它不是很流暢,我想輕松地將這個控件與其他應用程序集成。

請在此處找到示例源代碼

當我嘗試移動控件時,操作事件沒有觸發,我無法弄清楚原因。

我最近開始研究 UWP 應用程序,非常感謝您對此事的任何幫助。

在您的場景中, PointPressed事件中有幾個刪除代碼,例如“RootCanvas.Children.Remove()” 當你移動控件時,PointPressed 事件被觸發,之前生成的名為 resizableRectV2 的矩形被刪除。 所以不會觸發resizableRectV2.ManipulationCompleted事件。

另外,我建議你不要創建兩個完全重疊的矩形,這會讓你感到困惑。

更新:

SpeakerView.xaml.cs:

RootCanvas.Children.Remove(RootCanvas.Children.Where(x => x.GetType() == typeof(ResizableRectangle)).FirstOrDefault());

我的意思是你可以在 OnPointerPressed 事件中刪除上面的代碼。

暫無
暫無

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

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