コンテンツにスキップ

ListenableBuilder クラス

PropertyChangedを購読し、通知のたびに直下のウィジェットだけを再構築します。

名前空間: FloatSoda.Widgets
アセンブリ: FloatSoda.dll

public record ListenableBuilder : StatefulWidget<ListenableBuilder>, IEquatable<Widget>, IEquatable<StatefulWidget<ListenableBuilder>>, IEquatable<ListenableBuilder>

object ← Widget ← StatefulWidget<ListenableBuilder> ← ListenableBuilder

IEquatable<Widget>, IEquatable<StatefulWidget<ListenableBuilder>>, IEquatable<ListenableBuilder>

StatefulWidget<ListenableBuilder>.CreateElement(), StatefulWidget<ListenableBuilder>.CreateState(), Widget.Key, Widget.CanUpdate(Widget, Widget), Widget.CreateElement(), Widget.GetHashCode(), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

通知は、このウィジェットがマウントされたスレッド(通常はFloatSodaのメインループ)から発火する必要があります。 バックグラウンドスレッドで状態を更新する場合は、呼び出し側でメインループへマーシャリングしてください。

現在の状態から、このウィジェットの直下に配置するウィジェットを構築するデリゲートを取得します。

public required Func<IBuildContext, Widget> ChildBuilder { get; init; }

Func<IBuildContext, Widget>

ArgumentNullException

nullが指定されました。

変更通知を購読する状態オブジェクトを取得します。

public required INotifyPropertyChanged Listenable { get; init; }

INotifyPropertyChanged

ArgumentNullException

nullが指定されました。

このウィジェットと状態のライフサイクルを管理するElementを生成します。

public override Element CreateElement()

Element

このウィジェットを保持する未マウントのElement。

このウィジェットに関連付ける新しい状態オブジェクトを生成します。

public override State<ListenableBuilder> CreateState()

State<ListenableBuilder>

Elementがツリーから恒久的に外れるまで保持する新しい状態オブジェクト。