コンテンツにスキップ

InheritedWidget クラス

子孫Elementへ共有値を提供し、その値への依存関係を追跡するウィジェットの基底型です。

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

public abstract record InheritedWidget : Widget, IEquatable<Widget>, IEquatable<InheritedWidget>

object ← Widget ← InheritedWidget

DefaultTextStyle, ServiceProvider, WindowWidget

IEquatable<Widget>, IEquatable<InheritedWidget>

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()

この共有スコープの直下に配置する子ウィジェットを取得します。

public required Widget Child { get; init; }

Widget

祖先マップへの登録キー。既定は具象型(Flutter の ExactType セマンティクス)。 基底型で lookup させたい階層(例: WindowWidget)はこれをオーバーライドする。

public virtual Type ScopeType { get; }

Type

このウィジェットを祖先マップへ登録し、依存する子孫を管理するElementを生成します。

public override Element CreateElement()

Element

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

更新前後の共有値を比較し、依存する子孫Elementへ変更を通知するかを判定します。

public abstract bool UpdateShouldNotify(InheritedWidget oldWidget)

oldWidget InheritedWidget

更新前に同じElementが保持していたウィジェット。

bool

依存する子孫へ変更を通知する場合はtrue。通知しない場合はfalse。

trueを返すと、登録済みの依存Elementへ再構築を要求します。

InheritedElement