Unity3D - 如何在 DropDown 中更改 ItemLabel 的颜色

Unity3D - How to change color for ItemLabel in DropDown

我在 Unity 中使用 DropDown 元素, 在我的代码中,如果不满足要求,我会禁用一些选择:

  var toogles = dropDownList.GetComponentsInChildren<Toggle>(true);
  toogles[index].interactable = enable;

我还想为禁用的切换​​更改 ItemLabel 文本的颜色, 我试过了:

       var mylabel = dropDownList.GetComponentsInChildren<Text>(true);
       mylabel[index].color = Color.red;

但不起作用,我需要以某种方式将该 ItemLabel 存储在在 Dropdown/Template/Item/ItemLabel

下创建的变量中

我尝试创建一个 public Text,我在其中拖放了在模板下创建的 ItemLabel,但由于它不是创建的确切文本,它只是一个模板,所以没有用。

有人知道如何访问 DropDown 的 ItemLabel 吗?

编辑:

我走到这一步:

    if(toogles[i].interactable == false)
        {
            _dropdown.itemText.color = Color.red;
        }

但不知道如何添加索引,所以只有部分项目会是红色

我能够使用以下代码找到并遍历 itemLabels:

 var myLabels = GameObject.FindGameObjectsWithTag("ItemLabel");
        var objectCount = myLabels.Length;
        Debug.Log("Object count:" + objectCount);
        Text[] myItemLabels = new Text[6];
        int k = 0;
        foreach (var obj in myLabels)
        {
          myItemLabels[k] = obj.GetComponent<Text>();
          k++;
        }