绑定网格列宽
我在 XAML 设计中遇到以下问题。
我需要到达最后,像网格一样排列数据,但使用自定义的 DataTemplate。 因此,我创建了一个顶部 Grid,其中包含数据项的两个标题标签。 在 Grid
下面,我构建了一个带有 ItemsControl
的 StackPanel
,其中包含显示我的数据的 DataTemplate
。一切都很好,当我运行应用程序时,我得到标题标签和下面的数据项,就像网格一样。我的问题是标签和项目内容未正确对齐。因此,我考虑将标题标签列的 Width
绑定到 ItemTemplate
的 ActualWidth
,但不幸的是,这不起作用。
有什么干净的方法来实现这一目标吗?
提前致谢 ...
I am facing the following problem in the design of my XAML.
I need to arrive at the end to arrange my data like a grid but with a custom DataTemplate
.
So I create a top Grid
which contains the two header lables of the data items.
Below the Grid
I build a StackPanel
with an ItemsControl
which includes the DataTemplate
which displays my data. Everything is ok, when I run the application I get the header lables and the data items below like a grid. My problem is that the labels and the content of the items are not aligned correctly. So I thought about binding the Width
of the header lable columns to the ActualWidth
of the ItemTemplate
, but unfortunately that does not work.
Is there any clean way to achive this?
Thanks in advance ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一种简单的方法可以在网格列中使用
SharedSizeGroup
并为父项分配Grid.IsSharedSizeScope="True"
来实现此目的。例如,
所有项目在列中都具有相同的宽度,您可能需要手动排列的唯一内容是项目上方的标题部分,具体取决于边距设置等。
There is a easy way to do this using
SharedSizeGroup
in the grid columns and assingingGrid.IsSharedSizeScope="True"
for the parent.e.g.
All the items will have the same widths in the columns, the only thing that you might need to line up manually is the headers section above the items, depending on margin settings and the like.