MergeData メソッドが外観情報を取得するために使用されるときに、スタイル情報が含まれるリソース名を示すために StyleResourceName が使用されます。StyleLibraryName は、リソースを取得するために使用されるアプリケーション スタイル ライブラリが読み込みされた状態の名前を示します。デフォルト/メインのスタイル ライブラリからリソースを取得するために、StyleLibraryName を null に設定したままにできます (VB にはない)。これはデフォルト値または空の文字列です。したがって、デフォルトでは、StyleResourceName によって識別されるリソースは、デフォルト スタイル ライブラリから取得されます。
Appearance 自体に設定されるプロパティ (たとえば、BackColor など) は、関連するアプリケーション スタイル リソースに設定された値に優先します。MergeData が起動されると、外観のプロパティからの情報が最初にマージし、解決される残りのプロパティが関連するリソースからピックアップされます。
注:HasPropertyBeenSet と HavePropertiesBeenSet は、関連するアプリケーション スタイル リソースによって提供されるプロパティに True を返します。ただし、外観のプロパティ (BackColor など) は、関連するアプリケーション スタイル リソースからの値を返しません。プロパティ値を取得するには、それらをプロパティに設定するか、関連するアプリケーション スタイル リソースに設定するかどうかにかかわらず、MergeData メソッドを使用する必要があります。
Appearance はそれを使用する可能性のあるコントロールに対する参照を持たないので、コントロールを明示的に無効にする必要があります (たとえば、Control.Invalidate を使用)。コントロールが描画された後にアプリケーション スタイル ライブラリが読み込みされる場合、リソースによって提供されるスタイル情報を確認するためです。同様に、外観情報がメトリックを計算するために使用される場合、コントロールのメトリックは、リソースが取得されたアプリケーション スタイル ライブラリが変更されるとダーティになる必要がある場合があります。この場合、外観を使用するコントロール/コンポーネントは同じアプリケーション スタイル ライブラリからアプリケーション スタイル情報を使用し、Infragistics.Win.AppStyling.StyleManager.StyleChanged イベントをこのケースで起動する場合、コントロールが表示/メトリックを無効にする時に何かをする必要はありません。
Appearance はそれを使用する可能性のあるコントロールに対する参照を持たないので、Infragistics.Win.AppStyling.ComponentRole.ResolutionOrder を適用することができません。したがって、Infragistics.Win.AppStyling.ResolutionOrder が ControlOnly に設定されている場合、リソースからのスタイル情報は、外観情報が取得された時に使用されます。同様に、ApplicationThenControl に設定されている場合、外観のプロパティ値は、外観のそれらの前にマージされます。最後に、ResolutionOrder が ApplicationOnly に設定されている場合、外観の MergeData メソッドは起動されず、したがってリソース情報は使用されません。