注:System.Collections.IEnumerable インターフェイスを実装する DataType を持つ Field は、デフォルトで展開可能です。しかし、任意のField はその IsExpandable プロパティを true に設定して展開可能にできます。展開可能フィールドには、UI でそれらを表すよう ExpandableFieldRecord および ExpandableFieldRecordPresenter が関連付けられています。これらのいずれかが展開されている場合、その値が IEnumerable インターフェイスを実装し、文字列でない場合、その入れ子になったコンテンツには RecordListControl が含まれます。文字列を含むすべての他のデータ型は ExpandedCellPresenter を表示します。
注: IsExpandable プロパティがそのデフォルト設定の null に設定されたままになっている場合、これは DataType が IEnumerable を実装している Field について true を返します。すべての他のデータ型は、デフォルトで False を返します。ただし、これは派生フィールド (TemplateField、ComboBoxField、MaskedTextField などの特定のエディター フィールド) の場合、IsExpandable が null ではない場合以外、このプロパティは false を返します。
以下のコード スニペットは、IsExpandable の解決された状態を確認する方法を示します。
C# の場合:
VB.NET の場合:
private void xamDataGrid_FieldLayoutInitialized(object sender, Infragistics.Windows.DataPresenter.Events.FieldLayoutInitializedEventArgs e) { foreach (Field f in e.FieldLayout.Fields) { if (f.IsExpandableResolved) { f.Visibility = System.Windows.Visibility.Collapsed; } } }
Private Sub xamDataGrid_FieldLayoutInitialized(ByVal sender As Object, ByVal e As Infragistics.Windows.DataPresenter.Events.FieldLayoutInitializedEventArgs) For Each f As Field In e.FieldLayout.Fields If f.IsExpandableResolved Then f.Visibility = System.Windows.Visibility.Collapsed End If Next End Sub