2009-11-30 57 views
0

我正在構建一個Xml驅動的應用程序。 我在一個單獨的動作類中創建新的狀態。 這些狀態都包含一個DataGrid。 我可以在Main.mxml中切換狀態。更改動態創建狀態的子項

但現在我想訪問DataGrid的某些孩子。在這種情況下,我想從Main.mxml中的按鈕切換GridItems的可見性。

我如何訪問並將其應用於已創建的狀態? 我試着創建RemoveChilds並重寫/推送它到狀態。 我所做的一切都是在最後一個狀態中移除整個GridRow,但它應該只是每個狀態下的一個GridItem。

非常感謝您的幫助!

+0

你添加相同的removeChild之對象的每個狀態?我還沒有嘗試過,但如果RemoveChild與其他UI子項綁定的規則相同,則將其添加到第二個狀態會將其從前一個狀態中刪除。 – susichan 2009-11-30 12:18:42

回答

0

顛倒你的問題。不要試圖將信息推入狀態,需要時各州會獲取信息。

在每個狀態中添加綁定以檢查按鈕的狀態並執行removeChild邏輯本身。

0

好吧,我明確地嘗試你的建議。我以我的方式解決了這個問題,但相當複雜我猜: 當創建狀態時,我會將每個GridItem都推送到一個數組中,並創建一個返回數組的getFunction,因此Main.mxml可以訪問它。 在Main.mxml的toggler功能如下:

_gridItemArray = theStateClass.getGridItemArray(); 

if(_buttonToggler == false) 
{ 
     for each(_gridItemArray.child in _gridItemArray) 
    { 
    _gridItemArray.child.visible = false; 
    } 
_buttonToggler = true; 
} 

else 
{ 
    for each(_gridItemArray.child in _gridItemArray) 
    { 
     _gridItemArray.child.visible = true; 
    } 
     _buttonToggler = false; 
    }