gpt4 book ai didi

c# - 具有水平和垂直方向的 WrapPanel

转载 作者:太空宇宙 更新时间:2023-11-03 23:27:42 25 4
gpt4 key购买 nike

我有一个列表框,其中包含三种不同大小的项目。项目的高度如下:

  • 178x100px
  • 100x100 像素
  • 100x178px

我想要项目之间没有填充或边距的布局。

但是我得到了这个结果:

enter image description here

不同高度/宽度的项目之间有一个边距。

我想做的是删除这些项目之间的边距,让它们紧挨着彼此,但我不知道要使用哪个面板,或者要设置什么样式。

这是列表框的 XAML。这些项目是 View 模型的一部分,其中包含表示纵横比(16:9、1:1、9:16)的枚举

<ListBox x:Name="previewList">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Width="525" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>

<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="{Binding Path=previewSize, Converter={StaticResource sizeConverter}, ConverterParameter={StaticResource True}}"
Width="{Binding Path=previewSize, Converter={StaticResource sizeConverter}, ConverterParameter={StaticResource False}}" Background="Blue">

</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Padding"
Value="0"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>

最佳答案

托克弗兰斯,

您需要移除 ListViewItems 上的边框。

  1. 创建一个ListViewItemStyle资源(你可以右键点击Listbox/Edit Additional templates/Edit Copy)

enter image description here

  1. 创建的 XAML 遵循 BorderThickness 的手动修改:

编辑:**** 抱歉,XAML 解决方案不可见!

<Window.Resources>
<Style x:Key="ListBoxItemStyle1" TargetType="{x:Type ListBoxItem}">
<Setter Property="Padding"
Value="0"/>
<Setter Property="BorderThickness"
Value="0"/>
</Style>
</Window.Resources>

并将样式分配给 ListBox :

<ListBox x:Name="previewList" ItemContainerStyle="{DynamicResource ListBoxItemStyle1}">

问候

关于c# - 具有水平和垂直方向的 WrapPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33321088/

25 4 0
文章推荐: node.js - Mongoose如何实现嵌套查询
文章推荐: c - 简谐振子中的改进欧拉法
文章推荐: css - 将 2 张图像添加到一个控制
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com