ControlContainerEditor オブジェクトは、IProvidesEmbeddableEditor を実装しない任意のコントロールを埋め込みエディターをサポートする任意の Infragistics™ コントロールにプラグ インする方法を提供します。IProvidesEmbeddableEditor インターフェイスの実装は簡単な作業ではありませんが、WinGrid™、WinTree™ または埋め込みエディターをサポートする任意のコントロールを組み込むために必要です。IProvidesEmbeddableEditor インターフェイスの実装を回避するために、ControlContainerEditor オブジェクトを使用できるのでその結果としてより簡単でよりメンテナンスのしやすい実装となります。
ControlContainerEditor は EmbeddableEditorBase クラス (すべての埋め込みエディターの親クラス) から派生する埋め込みエディターです。エディター オブジェクトは 2 つの大事なプロパティを公開します: RenderingControl およびEditingControl 。このプロパティによって、WinGrid などのコントロールに組み込みされる必要があるレンダリングおよび編集のコントロールを指定できます。
WinGrid でカスタムのエディター コントロールをセルに組み込みたいとします。RenderingControl は編集モードでない WinGrid でセルを描画し、EditingControl によってエンドユーザーは編集モードのセルを編集することができます。EditingControl を指定しない場合、UltraGridCell は編集できず基本的にはエディターではなくレンダラーのままです。
WinGrid と使用する時に、指定するレンダリング コントロールと編集コントロールは UltraGridCell で値を表すプロパティを持つ必要があります。また、指定されたプロパティの値が変わるときに必ずイベントを発生させることができる PropertyNameChanged イベント(たとえば ValueChanged、TextChanged など)を持つ必要があります。RenderingControlPropertyName および EditingControlPropertyName プロパティ設定を使用して、レンダリング コントロールと編集コントロールの単一のプロパティを ControlContainerEditor に割り当てることができます。これらのプロパティが明示的に設定されていない場合、ControlContainerEditor は使用する Value プロパティまたは Text プロパティを探します。
ControlContainerEditor オブジェクトと UltraControlContainerEditor コンポーネント
UltraControlContainerEditor はデザイン タイムに使用可能なコンポーネントで、IProvidesEmbeddableEditor インターフェイスを実装します。ControlContainerEditor オブジェクトの重要なプロパティをすべて公開します。
最も簡単の場合、デザイン タイムまたはコードによって UltraControlContainerEditor コンポーネントを簡単に設定できます。コンポーネントの設定方法の詳細は、 UltraControlContainerEditor コンポーネントを使用して WinGrid セル内に任意のコントロールを組み込むを参照してください。
同様に、ControlContainerEditor オブジェクトはそのインスタンスを作成しコントロールをポイントするようにすべてのプロパティを設定することによって使用できます。WinGrid の場合に列またはセルに割り当てることができます。複雑な事例で、ControlContainerEditor オブジェクトを最も有効に利用できます。ControlContainerEditor オブジェクトから任意のクラスを派生してより高度な状況を処理するためにプロパティおよびメソッドをオーバーライドできます。