Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 水平和垂直方向的包裹物_C#_Wpf_Xaml - Fatal编程技术网

C# 水平和垂直方向的包裹物

C# 水平和垂直方向的包裹物,c#,wpf,xaml,C#,Wpf,Xaml,我有一个列表框,里面有三种不同大小的项目。 项目高度如下所示: 178x100px 100x100px 100x178px 我希望项目之间没有填充或空白的布局 但我得到了这个结果: 不同高度/宽度的项目之间存在空白 我想做的是删除这些项目之间的空白,让它们紧挨着彼此,但我不知道要使用什么样的面板,或者要设置什么样式 这是列表框的XAML。这些项目是viewmodel的一部分,其枚举表示宽高比(16:9、1:1、9:16) Tokfrans 您需要删除ListViewItems上的边框 创

我有一个列表框,里面有三种不同大小的项目。 项目高度如下所示:

  • 178x100px
  • 100x100px
  • 100x178px
我希望项目之间没有填充或空白的布局

但我得到了这个结果:

不同高度/宽度的项目之间存在空白

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

这是列表框的XAML。这些项目是viewmodel的一部分,其枚举表示宽高比(16:9、1:1、9:16)


Tokfrans

您需要删除ListViewItems上的边框

  • 创建ListViewItemStyle资源(可以右键单击列表框/编辑其他模板/编辑副本)
  • 创建的XAML如下所示,并手动修改边界厚度:
  • 编辑:** **抱歉,XAML解决方案不可见

    
    
    并将样式指定给列表框:

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

    关于

    各种控件的标准样式通常有一个小的(1-2像素)内置边距和/或填充。我猜这就是你在这里看到的。您可以尝试通过以下方式解决此问题:

  • 设置零甚至负的填充和/或边距(您必须测试什么看起来正确)
  • 创建自己的ControlTemplate,删除内置边距/填充

  • @Tokfrans,看看我的解决方案,我测试并编辑了它。如果需要,我可以给你发代码。当做
    <ListBox x:Name="previewList" ItemContainerStyle="{DynamicResource ListBoxItemStyle1}">