In This Article

IDataFactoryRequest Interface

Provides the core requirements of a request made to an IDataFactory.

public interface IDataFactoryRequest

Properties

AreAttachedPropertiesBrowsable

Indicates whether attached properties are browsable and are displayed in the property grid.

bool AreAttachedPropertiesBrowsable { get; }

Property Value

bool:

true if attached properties are browsable and are displayed in the property grid; otherwise false.

AreCategoriesAutoExpanded

Indicates whether categories are auto-expanded when they are added into the property grid.

bool AreCategoriesAutoExpanded { get; }

Property Value

bool:

true if categories are auto-expanded when they are added into the property grid; otherwise false.

AreInheritedPropertiesBrowsable

Indicates whether inherited properties are browsable and are displayed in the property grid.

bool AreInheritedPropertiesBrowsable { get; }

Property Value

bool:

true if inherited properties are browsable and are displayed in the property grid; otherwise false.

AreNestedCategoriesSupported

Indicates whether nested categories are supported, using a special syntax in the category name.

bool AreNestedCategoriesSupported { get; }

Property Value

bool:

true if nested categories are supported; otherwise false.

ArePropertiesAutoExpanded

Indicates whether expandable properties are auto-expanded when they are added into the property grid.

bool ArePropertiesAutoExpanded { get; }

Property Value

bool:

true if expandable properties are auto-expanded when they are added into the property grid; otherwise false.

AreReadOnlyPropertiesBrowsable

Indicates whether read-only properties are browsable and are displayed in the property grid.

bool AreReadOnlyPropertiesBrowsable { get; }

Property Value

bool:

true if read-only properties are browsable and are displayed in the property grid; otherwise false.

BrowsableAttributes

An enumerable of Attribute objects that are used to determine which properties are browsable.

IEnumerable<Attribute>? BrowsableAttributes { get; }

Property Value

IEnumerable<Attribute>:

The default value is a list with a single entry of Yes.

CategoryEditors

The category editors that can consume and display one or more properties.

IEnumerable<CategoryEditor>? CategoryEditors { get; }

Property Value

IEnumerable<CategoryEditor>

CollectionPropertyDisplayMode

A CollectionPropertyDisplayMode that indicates the display mode of collection properties.

CollectionPropertyDisplayMode CollectionPropertyDisplayMode { get; }

Property Value

CollectionPropertyDisplayMode:

The default value is Default.

DataObjects

The objects for which data models are being requested.

IList<object?>? DataObjects { get; }

Property Value

IList<object>

IsCategorized

Indicates whether properties are categorized.

bool IsCategorized { get; }

Property Value

bool:

true if properties are categorized; otherwise, false.

IsHostReadOnly

Indicates whether the host UI control (e.g. a property grid) is read-only.

bool IsHostReadOnly { get; }

Property Value

bool:

true if the host UI control (e.g. a property grid) is read-only; otherwise, false.

MiscCategoryName

The name used for the miscellaneous category.

string? MiscCategoryName { get; }

Property Value

string

Parent

The IDataModel, if any, that is making the request.

IDataModel? Parent { get; }

Property Value

IDataModel

Remarks

This property will not return a value if the request is for the root data models.

Properties

The explicitly-defined properties that should be displayed.

IEnumerable<IPropertyModel>? Properties { get; }

Property Value

IEnumerable<IPropertyModel>

PropertyExpandability

Indicates the expandability of properties.

PropertyExpandability PropertyExpandability { get; }

Property Value

PropertyExpandability

SortComparer

The DataModelSortComparer to use for sorting data models.

DataModelSortComparer? SortComparer { get; }

Property Value

DataModelSortComparer

Source

The object or control that originally made the request.

object? Source { get; }

Property Value

object

Tag

Custom data for the request.

object? Tag { get; set; }

Property Value

object

Extension Methods