Table of Contents

Class GridRowBase<T>

Namespace
The.WPF.Screens
Assembly
Instagile.WPF.dll
public abstract class GridRowBase<T> : NotificationObject, INotifyPropertyChanged where T : IEntity

Type Parameters

T
Inheritance
GridRowBase<T>
Implements
Inherited Members
Extension Methods

Constructors

GridRowBase()

public GridRowBase()

Fields

SharedChangeExecutor

protected NotificationExecutor SharedChangeExecutor

Field Value

NotificationExecutor

Properties

BackgroundBrush

public virtual Brush BackgroundBrush { get; }

Property Value

Brush

CellCommands

public ObservableCollection<IInternalCommand> CellCommands { get; }

Property Value

ObservableCollection<IInternalCommand>

CustomRowCommands

public CommandsMenuModel CustomRowCommands { get; set; }

Property Value

CommandsMenuModel

CustomRowCommandsInHamburger

public bool? CustomRowCommandsInHamburger { get; set; }

Property Value

bool?

Entity

The entity of a list row screen can be unset if the row is still loading

public Optional<T> Entity { get; }

Property Value

Optional<T>

EntityTask

public Task<T> EntityTask { get; }

Property Value

Task<T>

FallbackText

public string FallbackText { get; set; }

Property Value

string

HasChanges

public bool HasChanges { get; }

Property Value

bool

HasVisibleRowCommands

True when this row has at least one custom command that is currently visible. The row-commands affordance (inline buttons or hamburger) is hidden when this is false.

public bool HasVisibleRowCommands { get; set; }

Property Value

bool

IsEditable

public bool IsEditable { get; }

Property Value

bool

IsEditableRW

public bool IsEditableRW { get; set; }

Property Value

bool

IsSubscreen

public bool IsSubscreen { get; }

Property Value

bool

IsValid

public bool IsValid { get; }

Property Value

bool

RowCommands

public ObservableCollection<IScreenCommand> RowCommands { get; }

Property Value

ObservableCollection<IScreenCommand>

RowCommandsRequireEditableContext

True when every visible custom command requires an editable context, so the affordance is also hidden while the ambient context is not editable.

public bool RowCommandsRequireEditableContext { get; set; }

Property Value

bool

RowFindingBrush

Fill for the row indicator: red when the row's entity has an entity-level error, yellow for a warning.

public Brush? RowFindingBrush { get; }

Property Value

Brush

RowFindingText

Combined text of the entity-level findings for this row's entity, for the row indicator's tooltip.

public string? RowFindingText { get; }

Property Value

string

SharedLookupContext

public IEntityContext SharedLookupContext { get; set; }

Property Value

IEntityContext

Surface

public ISurface Surface { get; set; }

Property Value

ISurface

Methods

AddPropertyChangeHandlers()

public IDisposable AddPropertyChangeHandlers()

Returns

IDisposable

GetCustomFields()

protected virtual IEnumerable<KeyValuePair<string, IField>> GetCustomFields()

Returns

IEnumerable<KeyValuePair<string, IField>>

GetGeneratedFields()

protected abstract IEnumerable<KeyValuePair<string, IField>> GetGeneratedFields()

Returns

IEnumerable<KeyValuePair<string, IField>>

OnEntityChanged()

protected virtual void OnEntityChanged()

SetFindings(IReadOnlyList<ValidationFinding>)

Displays the findings whose entity this row presents: property-anchored findings go to the matching fields, and entity-level findings become the row indicator.

public void SetFindings(IReadOnlyList<ValidationFinding> findings)

Parameters

findings IReadOnlyList<ValidationFinding>

Events

EntityChanged

public event Action? EntityChanged

Event Type

Action