WPF - Uniformgrid -删除项目之间的空格[重复]

qq24tv8q  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(137)

此问题已在此处有答案

Canvas line strokethickness with double value creates moire effect(1个答案)
Spacing Question on the * operator for XAML with Grids(2个答案)
2天前关闭。
我正在创建一个可视化的东西,看起来应该类似于一个进度条。我使用的是一个统一的网格容器,它有一系列不同颜色的边框,但是它在项目周围创建了一种看起来不太好的边框。
这是我的代码:

<UniformGrid x:Name="FakeProgressBar" Grid.Row="2" Height="20" Rows="1">
   <UniformGrid.Resources>
       <Style TargetType="Border">
          <Setter Property="BorderThickness" Value="0"/>
          <Setter Property="BorderBrush" Value="Black"/>
          <Setter Property="Margin" Value="0"/>
       </Style>
   </UniformGrid.Resources>
   <Border Background="Blue"/>
   <!- Borders get added dynamically from code behind ->
</UniformGrid>

它看起来是这样的:

有像素分隔边界。但这不是保证金,也不是实际的边界。我该怎么摆脱这些?
PS:我不能使用正常的进度条,因为不是所有的边框都是蓝色的。我用不同的颜色代表不同的物品。

2uluyalo

2uluyalo1#

尝试将UseLayoutRounding="True"添加到您的UniformGrid,应该会使其不太明显。
由于这是一个渲染问题,如果在设计器窗口中放大和缩小,您应该看到空间出现和消失。
它也会影响正常栅格。

相关问题