<DockPanel Grid.Row="1" HorizontalAlignment="Right" Width="300">
<Button x:Name="startPackageSendButton" Command="{Binding StartPackageSendingProcessCommand}" Style="{StaticResource blueButtonStyle}" Content="Start" Width="100" VerticalAlignment="Top" Margin="0,0,0,0" Visibility="Visible" HorizontalAlignment="Right"/>
<Button x:Name="clearPackageSendButton" Command="{Binding ClearPackageSendingProcessCommand}" Style="{StaticResource blueButtonStyle}" Content="Clear" Width="100" VerticalAlignment="Top" Margin="0,0,0,0" Visibility="Collapsed" HorizontalAlignment="Right"/>
<Button x:Name="cancelPackageSendButton" Command="{Binding CancelPackageSendingProcessCommand}" Style="{StaticResource blueButtonStyle}" Content="Stop" Width="100" VerticalAlignment="Top" Margin="0,0,0,0" Visibility="Visible" HorizontalAlignment="Right"/>
</DockPanel>
我正在使用Dockpanel
来堆叠一些水平对齐的按钮。
如果某些按钮不是Visible
,则按钮之间会有空格。
如果按钮没有设置为Visibility
可见,我如何消除空格?
有没有一种技术可以达到这种效果?
编辑:我根据建议将隐藏更改为已折叠。
答案 0 :(得分:4)
我怀疑你是通过设置Visibility.Hidden
隐藏控件。
您应该使用Visibility.Collapsed
。
了解更多here:
区别在于 Visibility.Hidden 隐藏了控件,但是 保留其在布局中占据的空间。所以它渲染了空白 而不是控制。
Visibilty.Collapsed 不呈现 控制并不保留空白。空间控制 将采取的是“倒塌”,因此得名。
编辑完成后,显然您正在使用Hidden
。请改为使用Collapsed:
<DockPanel Grid.Row="1" HorizontalAlignment="Right" Width="300">
<Button Visibility="Collapsed"/>
<Button Visibility="Visible"/>
<Button Visibility="Collapsed"/>
</DockPanel>
修改强>:
我删除了样式和命令部分后检查了示例代码,发现了一些问题:
HorizontalAlignment="Right"
。LastChildFill
设置为False
,以防您不希望上次添加的孩子占用所有空间。它应该是这样的,它完美地运作:
<DockPanel Grid.Row="1" LastChildFill="False">
<Button x:Name="startPackageSendButton" Content="Start" Width="100"
VerticalAlignment="Top" Margin="0,0,0,0" Visibility="Collapsed"
HorizontalAlignment="Right"/>
<Button x:Name="clearPackageSendButton" Content="Clear" Width="100"
VerticalAlignment="Top" Margin="0,0,0,0" Visibility="Visible"
HorizontalAlignment="Right"/>
<Button x:Name="cancelPackageSendButton" Content="Stop" Width="100"
VerticalAlignment="Top" Margin="0,0,0,0" Visibility="Collapsed"
HorizontalAlignment="Right"/>
</DockPanel>