Version: 2022.1
言語: 日本語
UXML 要素 RadioButton
UXML 要素 RectField

UXML 要素 RadioButtonGroup

RadioButtonGroup は、ラジオボタンの論理的グループからの単一選択の機能を提供します。1 つを選択すると他の選択がキャンセルされます。RadioButtonGroup は、DropdownField に似ていますが、全ての選択肢を UI に表示する点が異なります。

ユーザーのアクションへの応答

RadioButtonGroup は Changeイベント に応答します。

RadioButtonGroup を Integer 変数にバインドしたり、その値を受動的に評価することも可能ですが、通常は、選択肢のリストを定義してユーザー入力をリッスンします。

UI Builder で RadioButtonGroup の選択肢を追加する

RadioButtonGroup の選択肢を追加するには、RadioButtonGroup の Inspector で、Choices にカンマ区切りで選択肢を入力します。

デフォルト値を設定するには、RadioButtonGroup の Inspector で、Value に、0 から開始する選択肢番号のシーケンスを入力します。

C# スクリプトで RadioButtonGroup を作成する

以下の C# のコードスニペットは、4 つの選択肢を持つ新しい RadioButtonGroup を作成し、その ValueChanged コールバックに登録します。

var radiogroup = new RadioButtonGroup("Options", new List<string> { "Option 1", "Option 2", "Option 3", "Option 4" });
radiogroup.RegisterValueChangedCallback(evt => Debug.Log(evt.newValue));
window.rootVisualElement.Add(radiogroup);

RadioButton の使い方を学ぶ最良の方法は、サンプルを試してみることです。RadioButton のサンプルを見るには、Unityで Window > UI Toolkit > Samples > RadioButtonGroup と選択してください。

C# のクラスと名前空間

C# クラス: RadioButtonGroup
名前空間: UnityEngine.UIElements
基本クラス: BaseField_1

Member attributes

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

名前 説明
choices string グループ内の利用可能な選択肢のリスト。

このプロパティに書き込むと、既存の RadioButton 要素が削除され、新しいリストを表示するためにそれらが再作成されます。

Inherited attributes

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

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

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

名前 説明
content-container string child elements are added to this element, usually this
name string この VisualElement の名前。

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

C# でこのオブジェクトに書き込まれた USS ファイルまたはインラインスタイルから計算されたデータが含まれます。
toolbar string Text to display inside an information box after the user hovers the element for a small amount of time.
usage-hints UIElements.UsageHints VisualElement の高レベルの使用パターンを指定するヒント値の組み合わせ。このプロパティは、VisualElement がまだ Panel の一部でない場合にのみ設定できます。Panel の一部になると、このプロパティは事実上読み取り専用となり、変更しようとすると例外がスローされます。適切な UsageHints を指定することで、予想される使用パターンに基づいて、特定の操作をどのように処理するか、または高速化するかについて、システムがより適切な判断を下すようになります。これらのヒントは動作や視覚的な結果には影響しませんが、パネルとその中の要素の全体的なパフォーマンスにのみ影響することに注意してください。常に適切なUsageHints を指定することを考慮することをお勧めしますが、特定の条件下 (例えば、ターゲットプラットフォームのハードウェア制限など) では、いくつかの UsageHints が内部的に無視される可能性があることに留意してください。
view-data-key string ビューデータの永続性 (ツリーの展開状態、スクロール位置、ズームレベルなど) に使用されます。

これは、ビューデータストアからビューデータを保存/ロードするために使用されるキーです。このキーを設定しないと、この VisualElement の永続性が無効になります。

USS クラス

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

C# プロパティ USS セレクター 説明
ussClassName .unity-radio-button-group RadioButtonGroup 要素の USS クラス名。

Unity はこの USS クラスを RadioButtonGroup 要素の全てのインスタンスに追加します。このクラスに適用されたスタイルは、ビジュアルツリーでスタイルシートの横または下にある全ての RadioButtonGroup に影響します。
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 クラス名。

You can also use the Matching Selectors section in the Inspector or the UI Toolkit Debugger to see which USS selectors affect the components of the visual element at every level of its hierarchy.

その他の参考資料

UXML 要素 RadioButton
UXML 要素 RectField