Skip to content

Class BehaviorFactory

Definition

Namespace: StardewUI.Framework.Behaviors
Assembly: StardewUI.dll

A behavior factory based on per-name delegates. Can be used as a base class for other factories.

public class BehaviorFactory : StardewUI.Framework.Behaviors.IBehaviorFactory

Inheritance
Object ⇦ BehaviorFactory

Implements
IBehaviorFactory

Members

Constructors

Name Description
BehaviorFactory()

Methods

Name Description
Add(IBehaviorFactory) Adds a new delegate factory which this factory will be allowed to use as a fallback for any behavior names not handled directly.
CanCreateBehavior(string, string) Checks if the factory can create behaviors with a specified name and argument.
CreateBehavior(Type, string, string) Creates a new behavior.
Register<TBehavior>(string) Registers a behavior for a given name using the behavior's default parameterless constructor.
Register(string, Func<string, IViewBehavior>) Registers a behavior for a given name using a delegate function.

Details

Constructors

BehaviorFactory()

public BehaviorFactory();

Methods

Add(IBehaviorFactory)

Adds a new delegate factory which this factory will be allowed to use as a fallback for any behavior names not handled directly.

public void Add(StardewUI.Framework.Behaviors.IBehaviorFactory factory);
Parameters

factory   IBehaviorFactory
The delegate factory.


CanCreateBehavior(string, string)

Checks if the factory can create behaviors with a specified name and argument.

public bool CanCreateBehavior(string name, string argument);
Parameters

name   string
The behavior name.

argument   string
The argument for the behavior, if any. Most implementations can ignore this parameter, but in some cases it is used for disambiguation.

Returns

Boolean

true if this factory should handle the specified name, when given the specified argument, otherwise false.


CreateBehavior(Type, string, string)

Creates a new behavior.

public StardewUI.Framework.Behaviors.IViewBehavior CreateBehavior(System.Type viewType, string name, string argument);
Parameters

viewType   Type
The specific type of IView that will receive the behavior.

name   string
The behavior name that specifies the type of behavior.

argument   string
Additional argument provided in the markup, distinct from the behavior's DataType. Enables prefixed behaviors such as tween:opacity

Returns

IViewBehavior

A new behavior of a type corresponding to the name.


Register<TBehavior>(string)

Registers a behavior for a given name using the behavior's default parameterless constructor.

public void Register<TBehavior>(string name);
Parameters

name   string
The markup name used to create to the TBehavior type.

Remarks

Used for behaviors that do not take arguments, only data.


Register(string, Func<string, IViewBehavior>)

Registers a behavior for a given name using a delegate function.

public void Register(string name, Func<string, StardewUI.Framework.Behaviors.IViewBehavior> factory);
Parameters

name   string
The markup name used to create this type of behavior.

factory   Func<string, IViewBehavior>
Delegate function that accepts the construction argument (if any) and creates the corresponding behavior.