串聯 RealTimeStylus 模型可讓您使用兩個 RealTimeStylus 物件,每個物件都在不同的線程上執行。 使用此模型時,您會將次要 RealTimeStylus 物件附加至主要 RealTimeStylus 物件。 次要 RealTimeStylus 物件作為主要 RealTimeStylus 物件的異步外掛程式集合中唯一的異步外掛程式被附加。
串聯 RealTimeStylus 模型在下列案例中可能很有用。
- 您可以將某些計算量大但仍然需要即時存取平板手寫筆數據流的工作,例如多筆劃手勢辨識,新增至次要 RealTimeStylus 物件的同步外掛程式集合。
- 您可以將同步外掛程式的計算負載分散在兩個線程上,以減少某些平板電腦筆跡收集的延遲。
下圖說明平板電腦手寫筆數據的流程,透過兩個串聯 RealTimeStylus 物件及其外掛程式集合。
顯示串連實時數據流圖例
在此圖表中,字母為 「A」 的圓形代表已由主要和次要 RealTimeStylus 對象處理的平板電腦手寫筆數據,並已放在次要 RealTimeStylus 對象的輸出佇列上。 字母為 “B” 的圓形代表已由主要 RealTimeStylus 對象處理的平板電腦畫筆數據,並新增至主要 RealTimeStylus 對象的輸出佇列,尚未傳送至次要 RealTimeStylus 物件。 字母為 「C」 的圓形代表主要 RealTimeStylus 物件目前正在處理的平板電腦手寫筆數據。 它會傳送至同步外掛程式集合,並放在輸出佇列上。 空的圓形代表輸出佇列中新增未來平板電腦畫筆數據的位置。
限制條件
如果您使用預設 RealTimeStylus 建構函式,您會建立 RealTimeStylus 物件,該物件只能接受另一個 RealTimeStylus 對象的輸入。
下列清單描述使用串聯 RealTimeStylus 模型相關聯的條件約束。
- 只能使用兩個 RealTimeStylus 物件、主要 RealTimeStylus 物件和次要 RealTimeStylus 物件。
- 必須使用帶有附加 控制項 或 控制代碼 參數的建構函式來建立主要 RealTimeStylus 物件。 必須使用 no-argument 建構函式建立次要 RealTimeStylus 物件。
- 次要 RealTimeStylus 對象必須是主要 RealTimeStylus 物件的異步外掛程式集合中唯一的異步外掛程式。
- 次要 RealTimeStylus 物件一次只能附加至一個主要 RealTimeStylus 物件。 如果它新增至第二個主要 RealTimeStylus 物件,Add 方法會擲回例外狀況,而次要 RealTimeStylus 物件不會附加至第二個主要 RealTimeStylus 物件。
- 修改某些次要 RealTimeStylus 對象成員的行為。 下表描述這些成員的修改後的行為。
成員 | 行為 |
---|---|
GetDesiredPacketDescription | 這個方法會從主要 RealTimeStylus 物件傳回資訊。 如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 對象,這個方法會傳回預設值。 |
設置期望的數據包描述 | 這個方法會引發 InvalidOperationException 例外狀況。 |
GetStyluses | 這個方法會從主要 RealTimeStylus 物件傳回資訊。 如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 對象,這個方法會傳回空陣列。 |
已啟用 | 取得這個屬性會從主要 RealTimeStylus 對象傳回資訊。 如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 物件,則取得此屬性會傳回預設值。 注意: 設定這個屬性會引發 InvalidOperationException 例外狀況。 |
WindowInputRectangle | 取得這個屬性會從主要 RealTimeStylus 對象傳回資訊。 如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 物件,則取得此屬性會傳回預設值。 注意: 設定這個屬性會引發 InvalidOperationException 例外狀況。 |
- 預期會停止運作的父物件 RealTimeStylus 是當子系 RealTimeStylus 被處置時。