バージョン

自動サイズ設定操作の実行

DataPresenter コントロールを使用すると、エンド ユーザーはフィールドのサイズ変更インジケーターをダブルクリックして、コンテンツがフィットするようにフィールドをサイズ変更できます。また、イベントを処理し、 Field オブジェクトの PerformAutoSize メソッドを呼び出すか、または、 DataPresenterCommands クラスが公開する AutoSizeField コマンドを実行することによって、この同じ機能を複製することもできます。

PerformAutoSize メソッドのパラメーターのないバージョンは、 FieldSettings オブジェクトの AutoSizeOptions および AutoSizeScope プロパティを考慮します。そのため、あるフィールドの自動サイズ設定を無効にする場合、PerformAutoSize メソッドのパラメーターのないバージョンを呼び出してもそのフィールドには影響しません。ただし、PerformAutoSize メソッドにはオーバーロードがあり、AutoSizeOptions および AutoSizeScope の列挙値を渡すことで、フィールドの自動サイズ設定に関係なく、フィールドを自動サイズ設定できます。

AutoSizeField コマンドには、 Field オブジェクトをコマンドパラメーターとして渡す必要があります。フィールドが自動サイズ設定を許可しない場合、AutoSizeField コマンドは実行されません。

以下のコード例は自動サイズ設定操作を実行する方法を示します。このコード例は、アクティブな Cell オブジェクトの Field プロパティを使用して、PerformAutoSize メソッドを呼び出し、AutoSizeField コマンドを実行します。

XAML の場合:

<Button
    Content="Auto-size the current field"
    Command="{x:Static igDP:DataPresenterCommands.AutoSizeField}"
    CommandTarget="{Binding ElementName=xamDataPresenter1}"
    CommandParameter="{Binding ElementName=xamDataPresenter1, Path=ActiveCell.Field}" />
<igDP:XamDataPresenter Name="xamDataPresenter1" BindToSampleData="True">
</igDP:XamDataPresenter>

Visual Basic の場合:

If Me.xamDataPresenter1.ActiveCell IsNot Nothing Then
    ' 次のコマンドを実行します:
    'Me.xamDataPresenter1.ExecuteCommand(DataPresenterCommands.AutoSizeField, Me.xamDataPresenter1.ActiveCell.Field)
    Me.xamDataPresenter1.ActiveCell.Field.PerformAutoSize()
End If

C# の場合:

if(this.xamDataPresenter1.ActiveCell != null)
{
    // 次のコマンドを実行します:
    //this.xamDataPresenter1.ExecuteCommand(DataPresenterCommands.AutoSizeField, this.xamDataPresenter1.ActiveCell.Field);
    this.xamDataPresenter1.ActiveCell.Field.PerformAutoSize();
}