我使用VS 2010中的实体框架设计器创建了一个名为“EmployeeName”的复杂类型。 EmployeeName包含名字,姓氏&标题。 现在的问题是我如何显示/绑定到silverlight中的datagrid? 现在它在每行中显示为Datagrid中的“Namespace.EmployeeName”。在Silverlight Datagrid中绑定复杂类型
1
A
回答
2
首先,您需要在DataGrid上将AutoGenerateColumns设置为false,以避免为绑定对象的所有属性获取DataGridTextColumn的默认列类型。
然后,您需要在xaml中为要显示的绑定对象的每个属性定义列。对于类似string
或int
(例如)的简单类型的属性,您可以在绑定属性中使用带有标准绑定的DataGridTextColumn
。
为了您的复杂类型(EmployeeName
),你需要使用一个DataGridTemplateColumn
,然后定义一个DataTemplate
为DataGridTemplateColumn.CellTemplate
属性,它告诉列如何显示的EmployeeName
。这只是使用一个单一的TextBlock
和Run
为EmployeeName
的每个属性一个简单的例子是如下
<sdk:DataGrid ItemsSource="{Binding MyCollection}"
AutoGenerateColumns="false">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<Run Text="{Binding EmployeeName.Title}"></Run>
<Run Text="{Binding EmployeeName.FirstName}"></Run>
<Run Text="{Binding EmployeeName.LastName}"></Run>
</TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
0
您必须在XAML中创建每个列并将AutoGenerateColumns设置为false,并使用每列的Binding属性将每列手动绑定到要显示的属性。
http://www.wpftutorial.net/DataGrid.html
该网站有主题的更多信息。它是为WPF设计的,但它也可以用于Silverlight;)
祝你好运,享受编程。
+0
感谢Drknezz它的工作。 – 2011-02-07 15:51:12
相关问题
- 1. 绑定值复杂类型
- 2. Silverlight:绑定复杂属性
- 3. WPF Datagrid绑定到复杂类型的DataTable
- 4. 模型在ASP.NET Core中绑定复杂类型的列表
- 5. 复杂的模型绑定
- 6. MVC.Net绑定复杂模型?
- 7. DataGrid绑定类型问题
- 8. 将Silverlight UserControl绑定到复杂对象
- 9. 在Silverlight中绑定DataGrid列标题
- 10. 绑定到DomainDataSource与DataGrid中在Silverlight 3
- 11. 无法在MVC中绑定复杂类型
- 12. Angular JS中的复杂模型绑定
- 13. Silverlight的DataGrid和绑定列
- 14. Silverlight DataGrid页眉绑定
- 15. 的DataGrid的Silverlight列绑定
- 16. Silverlight 3 - 绑定到DataGrid
- 17. 绑定列表到DataGrid Silverlight
- 18. Silverlight的DataGrid不绑定
- 19. RIA,Silverlight 4,EntityStates和复杂类型
- 20. 绑定到的HasValue对空类型的Silverlight的DataGrid
- 21. 复杂类型MVC的自定义模型绑定器3
- 22. 绑定在MVC asp.net复杂的类
- 23. 在Silverlight中绑定到一个复杂的对象
- 24. Silverlight中如何重新绑定的DataGrid
- 25. 复杂的模型绑定到列表
- 26. 绑定复杂的模型和DropDownListFor
- 27. MVC模型绑定复杂类型具有与Angular JS的复杂类型集合的属性
- 28. 更复杂(真实)的模型绑定?
- 29. WebGrid中的复杂类型
- 30. 如何将复杂的实体类型绑定使用的ObjectDataSource
这里假定Silverlight 4中Run的Text属性是一个依赖属性(因此是可绑定的)。如果您不使用4,则可以使用水平定向的StackPanel堆叠3个TextBlocks。 – 2011-02-06 22:41:44