【发布时间】:2015-01-21 19:30:49
【问题描述】:
在列表视图中,我想将每个项目显示为它们的宽度,并添加一个静态宽度。因此,如果项目的宽度为 20,并且我想在每个项目之间添加 15 的空间(使该项目的宽度为 35),我该怎么做?我为宽度设置了此代码,但我似乎无法更改它以显示除项目宽度之外的任何其他内容,它不允许我添加“+50”之类的内容。除非有其他方法可以在项目之间添加此间距。
<WrapPanel
Width="{Binding (FrameworkElement.ActualWidth),
RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
ItemWidth="{Binding (ListView.View).ItemWidth,
RelativeSource={RelativeSource AncestorType=ListView}}"
/>
我不想让 ItemWidth 本身成为一个静态数字,因为它只会切断我的文本:http://i.stack.imgur.com/He9Ef.jpg
【问题讨论】:
-
如果它是动态内容,而且是我,我可能只是用 WrapPanel 作为 ItemsPanelTemplate 制作一个 ItemsControl,然后在 ItemTemplate 上添加边距。
-
我意识到 ItemsPanel 和 ItemsTemplate 是不同的东西,我按照你说的做了并且它有效(只是使用了 Padding 而不是边距)。还在学习中。
标签: wpf xaml listview wrappanel