一千萬個為什麽

搜索

Expression Blend中的多級網格

過去幾天我一直在玩Expressions Blend 4,我開始習慣它。我剛剛開始玩數據綁定,發現它非常簡單和強大。出於原型設計的目的,沒有更好的應用。

我目前正在使用潛在的多級網格對Silverlight屏幕進行原型設計。有沒有辦法用Blend做到這一點?我嘗試創建一個多級數據樣本(我將一個集合數據添加到一個集合數據)並將其拖動到一個數據網格。只出現了第一級。

任何幫助,將不勝感激。

最佳答案

您可以使用帶有網格的ItemsControl作為其面板,然後在ItemTemplate中使用另一個ItemsControl並使用另一個網格將其綁定到第二級數據。使用ItemsControl可以很好地控制事物的顯示方式,而不僅僅是使用網格。

If you need something that looks like this: Multi-level Binding

這就是你如何實現它:

  1. Add a multi-level sample data source to your Blend project
  2. Add an ItemsControl to your layout root element
  3. Bind the ItemsControl.ItemsSource property to the parent level
  4. Create an empty item template using this option: Item Template/Create Empty
  5. In the item template, create the structure you want the second level to have. In my example, the structure looks like this:

    DataTemplate Structure

  6. Bind each of the child elements to properties in the items of the parent collection, like the title for the grid.
  7. Bind the DataGrid inside the item to the child collection.

最終結果將是一個項目列表,每個項目將包含一個StackPanel,一個內部帶有TextBlock的邊框和一個綁定到子數據的DataGrid。

此示例的XAML如下所示:

    

        
            
            
                
                    
                        
                    
                    
                
            
        
        
            
        
        
            
        

        
            
                
                    
                
            
        
    

我希望這有幫助。

轉載註明原文: Expression Blend中的多級網格