【发布时间】:2012-03-26 11:16:28
【问题描述】:
我有以下 XAML:
<DataGrid Name="nodeDataGrid" ItemsSource="{Binding NodeList}" AutoGenerateColumns="False" RowBackground="White"
AlternatingRowBackground="AliceBlue" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Background="Silver" Margin="0,34,10,10" IsReadOnly="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" CanUserSort="True" SortDirection="Ascending" CellStyle="{StaticResource CellStyle}" />
<DataGridTextColumn Header="Category" Binding="{Binding Path=Category}" Width="*" />
<DataGridTemplateColumn Header="Children">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ListBox>
<TextBlock Text="{Binding}" />
</ListBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
还有后面的代码:
private ServiceMapViewModel smViewModel = new ServiceMapViewModel();
public MainWindow()
{
InitializeComponent();
this.Loaded += (s, e) =>
{
this.DataContext = smViewModel;
};
}
在 ServiceMapViewModel 我有一个 NodeList 像: List
而节点是:
public string Name { get; set; }
public string Category { get; set; }
public string Group { get; set; }
public List<string> Children { get; set; }
public List<string> Parents { get; set; }
我的问题是如何将列表框绑定到 Chidren 属性?
【问题讨论】:
-
你试过ItemSource={Binding Children}
-
是的,我试过了,但是抛出了一个异常,因为 ItemsSource 已经在数据网格中初始化了
标签: c# .net wpf silverlight binding