繁体   English   中英

Flex / AIR:DropDownList并非总是在单击时打开

[英]Flex/AIR: DropDownList doesn't always open on click

我有一个带有2-3个DropDownLists和其他控件的AIR应用程序。 DropDownList绑定到中央Model单例中的数据提供者(ArrayCollections)。 在启动时,它们都工作正常。

但是,当我单击按钮将新对象添加到同一模型中另一个ArrayCollection中的对象时,DropDownLists变得很奇怪。 他们仍然会记录点击,所有其他控件仍会像以前一样工作,但是下拉列表将无法打开。 单击/等待足够多通常会打开下拉列表,但是如果我不做其他选择,则关闭后仍然不会打开。 进行其他选择将使DropDownList再次起作用,但是其他选择可能仍然拒绝打开。

如果我使用Ctrl +向下箭头打开下拉列表,则下拉列表将一直运行,因此仅单击不能正确触发打开。 我可以通过在单击时在下拉列表上调用openDropDown()来解决此问题,但是感觉不对。

我使用的是4.1 SDK,下拉列表为s:DropDownLists。 我尝试使用mx:ComboBoxes代替,但行为相同。 编辑:奇怪的是,使用s:ComboBoxes可以正常工作,但我真的不希望使用它们,因为它们似乎无法变为不可编辑的。

之前有人遇到过并设法解决吗? 欢迎任何建议。

经过大量的修改后,似乎出现问题了,当我有一个ToggleButtonBar时,它具有基于视图所具有的表示模型中的属性来设置其enabled属性。 其他控件句柄

enabled="{model.certainObject != null}"

很好,但不是ToggleButtonBar。 它设置了应有的属性,但似乎以某种方式导致了我一直遇到的下拉问题。 猜猜我不会使用ToggleButtonBar ... = /

首先要检查:您在模型单例中是否将ArrayCollections标记为Bindable? 您的ArrayCollection是否绑定到Model Singleton中的值?

束缚是一种奇怪的野兽。 并且如果要在单个对象中放置很多Bindable属性; 我知道改变一个属性会触发所有可绑定属性的机会。 如果yu有很多不同的视图都绑定到同一Singleton对象,则可以在应用程序中波动。

要检查的另一件事:如果您对多个ComboBox使用与dataProvider相同的Collection,那么我会看到非常奇怪的结果。 (我假设如果使用多个DropDownLists,同样的奇怪行为将持续存在)

但是,我只是在这里猜测。 您的代码中最有可能出现了问题。 您可以提供一个可运行的示例来演示您的问题吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM