【问题标题】:WrapPanel display item width + static width?WrapPanel显示项目宽度+静态宽度?
【发布时间】: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


【解决方案1】:

如果您的项目确实需要大 x 个单位,请使用 Padding。如果您希望您的项目以 x 单位分隔,请使用边距(来自与填充相同的链接)

填充只能应用于某些元素,因此您可能需要调整模板以使用它

【讨论】:

    猜你喜欢
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多