ReportViewer for ASP.NET Web Forms
アンビエントスタイルプロパティと非アンビエントスタイルプロパティ
C1PrintDocument の使い方 > スタイル > アンビエントスタイルプロパティと非アンビエントスタイルプロパティ

すべてのスタイルプロパティ(フォント境界線など)は、その意味に基づいてアンビエントと非アンビエントの2つのグループに分類できます。アンビエントプロパティはオブジェクトのコンテンツに影響するプロパティ(テキストフォントなど)で、非アンビエントプロパティはオブジェクトの装飾の描画に使用されるプロパティ(オブジェクトの周囲の境界線など)です。通常、この2つのグループでは必要な動作(特に継承規則)が異なるため、この区別は自然で便利です。アンビエントプロパティは、通常、オブジェクトの階層を下方に伝達されることが適しています。つまり、コンテナオブジェクトのアンビエントプロパティの設定が、そのコンテナ内のすべてのオブジェクトに影響するということです。テーブルを例にすれば、テーブル自体にフォントを設定した場合は、通常、テーブル内のすべてのセルのテキストにもそのフォントが適用される方が自然です。非アンビエントプロパティでは、この事情が大きく異なります。たとえば、テーブルの前後に余白を追加する場合は、テーブルの Spacing プロパティを設定しますが、その余白がすべてのセルに伝達されると不都合です。C1Preview のスタイルでは、このようにスタイルプロパティがアンビエントグループと非アンビエントグループに分類されています。基本的に、通常はオブジェクトのスタイルにプロパティを設定するだけで(あまりアンビエントについて考えなくても)、適切に処理されます。

すべてのスタイルプロパティの完全なリスト(プロパティがアンビエントであるか、そうでないかを示す)については、下記の別個のセクションで示します(スタイルプロパティとそのデフォルト値を参照してください)。ただし、次の一般的なルールが適用されます。

アンビエントスタイルプロパティは、オブジェクトのコンテンツ(テキストフォントなど)の表示を制御します。デフォルトでは、アンビエントプロパティは、オブジェクトの包含階層を下方に伝播します。つまり、コンテナオブジェクトのスタイルに設定されたアンビエントプロパティは、そのコンテナ内のすべてのオブジェクトに適用されます。

非アンビエントスタイルプロパティは、オブジェクトの装飾(枠線など)を制御します。デフォルトでは、非アンビエントプロパティは、オブジェクトの包含を通じて伝わりませんが、Style.Parent プロパティを介してスタイル全体に伝えることができます。