Expression Blend 中的多级网格
过去几天我一直在使用 Expressions Blend 4,现在我已经开始掌握它的窍门了。我最近刚刚开始使用数据绑定,发现它非常简单且功能强大。对于原型设计来说,没有更好的应用程序。
我目前正在制作一个带有潜在多层网格的 Silverlight 屏幕原型。有什么方法可以用 Blend 做到这一点吗?我尝试创建一个多级数据示例(我将集合数据添加到集合数据中)并将其拖到数据网格中。只出现了第一层。
任何帮助将不胜感激。
I have been playing with Expressions Blend 4 for the past few days, and I'm starting to get a hang of it. I just recently started playing with the Data binding and find it really easy and powerful. For prototyping purposes, there is no better application.
I'm currently prototyping a Silverlight screen with a potential multi-level grid. Is there any way to do this with Blend? I tried creating a multi-level data sample (I added a collection data to a collection data) and dragged it to a datagrid. Only the first level appeared.
Any help would be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用带有网格作为其面板的 ItemsControl,然后在 ItemTemplate 中使用另一个 ItemsControl 并使用另一个网格将其绑定到第二级数据。使用 ItemsControl,您可以对事物的显示方式进行大量控制,这比仅使用网格要好得多。
如果您需要类似这样的东西:
这是实现这一目标的方法:
将多级示例数据源添加到您的混合项目
将 ItemsControl 添加到布局根元素
将 ItemsControl.ItemsSource 属性绑定到父级别
使用此选项创建一个空项目模板:
在项目模板中,创建您希望第二级具有的结构。在我的示例中,结构如下所示:
将每个子元素绑定到项目中的属性父集合的名称,例如网格的标题。
将项目内的 DataGrid 绑定到子集合。
最终结果将是一个项目列表,每个项目将包含一个 StackPanel、一个内部带有 TextBlock 的 Border 以及一个绑定到子数据的 DataGrid。
此示例的 XAML 如下所示:
我希望这会有所帮助。
You can use an ItemsControl with a grid as its panel and then, in the ItemTemplate, use another ItemsControl and bind it to the second level of data using another grid. Using ItemsControl you have a lot of control over the way things are displayed, much more than using simply a grid.
If you need something that looks like this:
This is how you can make it happen:
Add a multi-level sample data source to your Blend project
Add an ItemsControl to your layout root element
Bind the ItemsControl.ItemsSource property to the parent level
Create an empty item template using this option:
In the item template, create the structure you want the second level to have. In my example, the structure looks like this:
Bind each of the child elements to properties in the items of the parent collection, like the title for the grid.
Bind the DataGrid inside the item to the child collection.
The end result will be a list of items, and each of the item will contain a StackPanel, a Border with a TextBlock inside and a DataGrid bound to the children data.
The XAML for this example looks like this:
I hope this helps.