Version: 2023.2
言語: 日本語
UXML 要素 Toggle
UXML 要素 Toolbar

UXML element ToggleButtonGroup

Use ToggleButtonGroup to enable single or multiple selections from a logical group of Button elements. The ToggleButtonGroup consists of a label and a set of interactable Button elements.

Note: To align an element with other fields in an Inspector window, simply apply the .unity-base-field__aligned USS class to it. For more information, refer to BaseField.

Create a ToggleButtonGroup

You can create a ToggleButtonGroup with UI Builder, UXML, and C#.

UI Builder

To create a ToggleButtonGroup in UI Builder:

  1. Drag ToggleButtonGroup from the Library panel into the Hierarchy panel.
  2. Add a set of Button elements to the ToggleButtonGroup element as its child elements.

To create a ToggleButtonGroup in UXML, add a ToggleButtonGroup element to a UXML document and add a set of Button elements as its child elements. For example:

C#

To create a ToggleButtonGroup in C#, create a new instance of a ToggleButtonGroup object and add a set of Buttons. For example:

ToggleButtonGroup myElement = new ToggleButtonGroup("Label text");
myElement.Add(new Button("Button 1"));
myElement.Add(new Button("Button 2"));
myElement.Add(new Button("Button 3"));

By default, you can select one button at a time. To enable multiple selections, set the is-multiple-selection to true.

To enable empty selection, set the allow-empty-selection to true.

The following UXML example creates a ToggleButtonGroup with Buttons:

[!code-xml[(External/Resources/editor_resources/Assets/Editor Default Resources/UIPackageResources/Snippets/UXML/ToggleButtonGroupSnippet.uxml)]

The following C# example illustrates some of the customizable functionalities of the ToggleButtonGroup and its Buttons:

[!code-cs[(Modules/UIElementsSamplesEditor/Snippets/ToggleButtonGroupSnippet.cs#sample)]

To try this example live in Unity, go to Window > UI Toolkit > Samples.

C# の基本クラスと名前空間

C# class: ToggleButtonGroup
Namespace: UnityEngine.UIElements
Base class: BaseField_1

メンバー UXML 属性

この要素は以下のメンバー属性を持ちます。

名前 説明
allow-empty-selection boolean Allows having all buttons to be unchecked when set to true.

When the property value is false, the control will automatically set the first available button to checked.
is-multiple-selection boolean Whether all buttons can be selected.

継承された UXML 属性

この要素は基本クラスから以下の属性を継承します。

名前 説明
binding-path string バインドされるべきターゲットプロパティのパス。
focusable boolean 要素がフォーカス可能である場合は true。
label string フィールドの横に表示されるラベルを表す文字列。
tabindex int フォーカスリング内でフォーカス可能なものをソートするために使用される整数。0 以上であることが必要です。

この要素は、VisualElement から以下の属性も継承します。

名前 説明
content-container string 子要素はそれに追加されますが、通常は要素自体と同じです。
data-source Object Assigns a data source to this VisualElement which overrides any inherited data source. This data source is inherited by all children.
data-source-path string Path from the data source to the value.
name string この VisualElement の名前。

このプロパティを使用して、特定の要素を対象とする USS セレクターを記述します。要素には一意の名前を付けるのが標準的です。
picking-mode UIElements.PickingMode mouseEvents または IPanel.Pick クエリの間にこの要素を選択 (ピック) できるかどうかを決定します。
style string この要素のスタイルオブジェクトへの参照。

C# でこのオブジェクトに書き込まれた USS ファイルまたはインラインスタイルから計算されたデータが含まれます。
toolbar string ユーザーが要素をマウスオーバーした後、わずかな時間、情報ボックス内に表示するテキスト。これはエディター UI でのみサポートされます。
usage-hints UIElements.UsageHints VisualElement の高レベルの使用パターンを指定するヒント値の組み合わせ。このプロパティは、VisualElement がまだ Panel の一部でない場合にのみ設定できます。Panel の一部になると、このプロパティは事実上読み取り専用となり、変更しようとすると例外がスローされます。適切な UsageHints を指定することで、予想される使用パターンに基づいて、特定の操作をどのように処理するか、または高速化するかについて、システムがより適切な判断を下すようになります。これらのヒントは動作や視覚的な結果には影響しませんが、パネルとその中の要素の全体的なパフォーマンスにのみ影響することに注意してください。常に適切なUsageHints を指定することを考慮することをお勧めしますが、特定の条件下 (例えば、ターゲットプラットフォームのハードウェア制限など) では、いくつかの UsageHints が内部的に無視される可能性があることに留意してください。
view-data-key string Used for view data persistence, such as tree expanded states, scroll position, or zoom level.

This key is used to save and load the view data from the view data store. If you don’t set this key, the persistence is disabled for the associated VisualElement. For more information, refer to View data persistence.

USS クラス

以下の表は、すべての C# パブリックプロパティ名と、それに関連する USS セレクターのリストです。

C# プロパティ USS セレクター 説明
ussClassName .unity-toggle-button-group USS class name of elements for this type.
containerUssClassName .unity-toggle-button-group__container この型のコンテナ要素の USS クラス名。
ussClassName .unity-base-field この型の要素の USS クラス名。
labelUssClassName .unity-base-field__label この型の要素のラベルの USS クラス名。
inputUssClassName .unity-base-field__input この型の要素の入力要素の USS クラス名。
noLabelVariantUssClassName .unity-base-field--no-label ラベルがない場合の、この型の要素の USS クラス名。
labelDraggerVariantUssClassName .unity-base-field__label--with-dragger この型の要素にドラッガーがアタッチされている場合のラベルの USS クラス名。
mixedValueLabelUssClassName .unity-base-field__label--mixed-value 混合値を示す要素の USS クラス名
alignedFieldUssClassName .unity-base-field__aligned インスペクター要素で整列される要素の USS クラス名
disabledUssClassName .unity-disabled ローカルで無効にされた要素の USS クラス名。

また、Inspector や UI Toolkit Debugger の Matching Selectors セクション を使用して、どの USS セレクターが VisualElementのコンポーネントに影響するかを、階層のすべてのレベルで確認することもできます。

その他の参考資料

UXML 要素 Toggle
UXML 要素 Toolbar