共用方式為


手寫筆Input API 的設計考慮

以下是手寫筆Input API 的設計考慮。

  • 您可以在手寫筆關閉時,更新RealTimeStylus物件的WindowInputRectangle屬性和DynamicRenderer物件的ClipRectangle屬性。 當您想要在應用程式收集筆跡時有動態繪圖區域時,這非常有用。

  • 若要優化外掛程式程式碼的重複使用和維護,外掛程式不應該直接呼叫應用程式,但應該在 Managed 程式碼中使用 CustomStylusData (CustomeStylusData 物件,) 與應用程式通訊。

  • RealTimeStylus物件的外掛程式集合會排序。 這些集合中外掛程式的相對位置可能非常重要。 例如,修改封包資訊的外掛程式應該會在動態轉譯器外掛程式外掛程式之前新增至同步外掛程式集合。

  • 將自訂手寫筆資料新增至平板電腦手寫筆資料流程的能力應該謹慎使用。 只有在另一個外掛程式需要接收這項資訊作為資料流程的一部分時,才使用此功能。 此外,請避免新增自訂手寫筆資料,以回應進入外掛程式的其他自訂手寫筆資料,因為這樣可以建立無限迴圈。

  • 啟用 RealTimeStylus 物件時,可以修改外掛程式集合;不過,這可能會讓應用程式的行為更難預測。 啟用 RealTimeStylus 物件時新增外掛程式時, RealTimeStylus 物件會呼叫外掛程式的 Microsoft.StylusInput.IStylusSyncPlugin。 RealTimeStylusEnabled 方法 (Managed 程式碼中的 Microsoft.StylusInput.IStylusSyncPlugin.RealTimeStylusEnabledMicrosoft.StylusInput.IStylusAsyncPlugin.RealTimeStylusEnabled 方法) 。 當 啟用 RealTimeStylus 物件時移除外掛程式時, RealTimeStylus 物件會呼叫外掛程式的 RealTimeStylusDisabled 方法, (Managed 程式碼中的 Microsoft.StylusInput.IStylusSyncPlugin.RealTimeStylusDisabledMicrosoft.StylusInput.IStylusAsyncPlugin.RealTimeStylusDisabled 方法) 。 這可讓外掛程式維持其適當的狀態,而不需要檢查RealTimeStylus物件的Enabled屬性。在啟用RealTimeStylus物件時新增外掛程式時,外掛程式接收的外掛程式資料可能未包含足夠的資訊,以充分建立初始資料的內容。 例如,新加入的外掛程式可能會開始從筆觸中接收封包資料。 同樣地,當啟用 RealTimeStylus 物件時移除外掛程式時,外掛程式收到的外掛程式資料可能不足以完成處理資料。

    注意

    若要取得整體穩定性,請在呼叫外掛程式的 RealTimeStylusEnabled 或 RealTimeStylusDisabled方法時,重設外掛程式的內部狀態。

     

  • 如果外掛程式修改附加的外掛程式集合, 則 RealTimeStylus 物件會擲回例外狀況。 只有當外掛程式被 RealTimeStylus 物件呼叫為該集合的成員時,才會發生這種情況。