Ich habe dieses bisschen Code, und es funktioniert nicht so, wie ich es erwartet hatte. btnContainer ist eine VBox, die eine Menge Buttons enthält (toggle = true); und ich möchte sie an einem bestimmten Punkt auf un-getoggelt zurücksetzen.Flex 3: Wie stelle ich fest, ob ein generisches Objekt tatsächlich eine Schaltfläche ist?
for (var btn:Object in btnContainer.getChildren()){
if (btn.isPrototypeOf(mx.controls.Button)){
btn.selected = false;
}
}
Mit dem obigen Code „BTN“ zeigt während jeder Iteration der Schleife, als nur den Index nach oben (0,1,2,3, ...), und die bedingten wertet nie wahr.
Ich habe auch versucht dies:
for (var btn:Button in btnContainer.getChildren()){
btn.selected = false;
}
Dies funktioniert gut, außer, dass es auch ein Etikett im btnContainer; Es wird also ein Fehler ausgegeben, wenn das Label als Schaltfläche gecastet wird.
Was mache ich hier falsch?
Ah, ich hatte den „jeden“ Teil fällt gelassen, weil ich ein Gehirn Furz hatte und dachte, es optional war. Machen Sie Sinn, danke. –
ohne das "each" bedeutet es etwas anderes: es wird über die Eigenschaften des Elements iterieren, eine Art Typ-Introspektion (könnte manchmal nützlich sein). –