WPF Silverlight DataGrid绑定问题

时间:2011-04-28 20:20:14

标签: wpf silverlight datagrid

问候,
我将市场类定义为

public class Market  
{    
     int id,              
     string MarketDescription,  
     List<Event> Events,  
     ....  
}  

并将事件定义为

public class Event
{    
     int eventid,              
     string EventDescription 
     ....  
}

我宣布

private ObservableCollection<Market> _markets;  
ObservableCollection<Market> Markets  
{            
    get { return _markets; }
    set  
    {        
        _markets = value;  
        base.RaisePropertyChangedEvent("Markets");
    } 
}

在我的数据网格中,我将ItemSource定义为

ItemsSource="{Binding Markets}" 

显示与Markets集合相关的数据,例如MarketDescription(显示得很好。我想要做的是能够在同一个数据网格中显示与Event类相关的所有数据。我试图创建一个ObservableCollection事件(EventCol)并用作as如下

  <sdk:DataGridTextColumn Header="Event Description" 
                          x:Name="EventDescription" 
                          Binding="{Binding ElementName=EventCol,                         
                          Path=EventDescription}" 
                          CanUserReorder="True" 
                          CanUserResize="True" CanUserSort="True" Width="Auto" />  

不幸的是,事件列表未显示。

请你指点我到正确的地方,或者你可以告诉我我做错了什么。

谢谢

1 个答案:

答案 0 :(得分:1)

由于事件也是一个集合,因此简单的TextColumn不会删除它。您可以使用DataGridTemplateColumn显示子数据网格,其中包含DataGrid ItemsSource绑定到Events的{​​{1}}。