エンド ユーザーはフィールドのサイズ変更インジケーターをダブルクリックして、フィールドのサイズを変更し、最も細長いコンテンツをフィールド内にフィットさせることができます。エンド ユーザーがフィールドを自動的にサイズ変更すると、DataPresenter コントロールは複数の要因に基づいてフィールドをサイズ変更します。第 1 の要因は、データ セル、ラベル、集計セルなどの DataPresenter コントロールが測定する要素です。第 2 の要因は、これらの要素がビュー内にあるかどうかです。デフォルトでは、エンドユーザーが自動的にフィールドをサイズ変更するとき、DataPresenter コントロールはビュー内のコントロールをすべて考慮します。ただし、 FieldSettings オブジェクトの AutoSizeOptions および AutoSizeScope プロパティを設定することによりこのデフォルト動作を変更できます。
AutoSizeOptions プロパティを FieldAutoSizeOptions 列挙値のビット単位の組み合わせに設定できます。このプロパティは、DataPresenter コントロールが測定する要素を決定します。たとえば、AutoSizeOptions プロパティを DataCells に設定する場合、ビュー内にラベルやフィルターセルなどの他の要素があっても、フィールドをサイズ変更するとき、DataPresenter コントロールはデータ セルのみを測定します。
AutoSizeScope プロパティは、DataPresenter コントロールがビュー外の要素を測定するかどうかを決定します。ただし、エンド ユーザーがフィールドのサイズ変更インジケーターをダブルクリックしてフィールドをサイズ変更するとき、DataPresenter コントロールはビュー外の要素を測定するためにレコードを割り当てる必要があります。DataPresenter コントロールでの要素の測定には時間がかかることに留意してください。そのため、大きなデータ ソースを扱うときは、ViewableRecords および AllRecords 列挙値を使用すべきではありません。
以下のコード例は、フィールドのサイズ設定の動作を変更する方法を示します。
<igDP:XamDataPresenter Name="xamDataPresenter1" BindToSampleData="True">
<igDP:XamDataPresenter.FieldSettings>
<igDP:FieldSettings AutoSizeOptions="DataCells, Label" AutoSizeScope="ViewableRecords" />
</igDP:XamDataPresenter.FieldSettings>
</igDP:XamDataPresenter>
Imports Infragistics.Windows.DataPresenter
...
Me.xamDataPresenter1.FieldSettings.AutoSizeOptions = FieldAutoSizeOptions.DataCells Or FieldAutoSizeOptions.Label
Me.xamDataPresenter1.FieldSettings.AutoSizeScope = FieldAutoSizeScope.ViewableRecords
...
using Infragistics.Windows.DataPresenter;
...
this.xamDataPresenter1.FieldSettings.AutoSizeOptions = FieldAutoSizeOptions.DataCells | FieldAutoSizeOptions.Label;
this.xamDataPresenter1.FieldSettings.AutoSizeScope = FieldAutoSizeScope.ViewableRecords;
...