共用方式為


Cascaded RealTimeStylus 模型

串聯 的 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物件。
  • 必須使用使用 attachedControlhandle參數的建構函式來建立主要RealTimeStylus物件。 必須使用 no-argument 建構函式來建立次要 RealTimeStylus 物件。
  • 次要 RealTimeStylus 物件必須是主要 RealTimeStylus 物件非同步外掛程式集合中唯一的非同步外掛程式。
  • 次要 RealTimeStylus 物件一次只能附加至一個主要 RealTimeStylus 物件。 如果將它新增至第二個主要 RealTimeStylus 物件, Add 方法會擲回例外狀況,而且次要 RealTimeStylus 物件不會附加至第二個主要 RealTimeStylus 物件。
  • 修改某些次要 RealTimeStylus 物件成員的行為。 下表描述這些成員的修改行為。
成員 行為
GetDesiredPacketDescription 這個方法會從主要 RealTimeStylus 物件傳回信息。
如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 物件,這個方法會傳回預設值。
SetDesiredPacketDescription 這個方法會引發 InvalidOperationException 例外狀況
GetStyluses 這個方法會從主要 RealTimeStylus 物件傳回信息。
如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 物件,這個方法會傳回空陣列。
Enabled 取得此屬性會從主要 RealTimeStylus 物件傳回信息。
如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 物件,則取得此屬性會傳回預設值。
注意: 設定此屬性會引發 InvalidOperationException 例外狀況
WindowInputRectangle 取得此屬性會從主要 RealTimeStylus 物件傳回信息。
如果次要 RealTimeStylus 未附加至主要 RealTimeStylus 物件,則取得此屬性會傳回預設值。
注意: 設定此屬性會引發 InvalidOperationException 例外狀況
  • RealTimeStylus 物件預期會在處置子 RealTimeStylus 時停止運作。