no9*_*no9 0 .net c# wpf alignment dockpanel
<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>
Run Code Online (Sandbox Code Playgroud)
我正在使用Dockpanel水平对齐堆叠一些按钮。如果某些按钮不是,Visible我在按钮之间有空格。
如果按钮未Visibility设置为可见,我如何消除空格?有什么技术可以达到这种效果吗?
编辑:我按照建议将隐藏更改为折叠。
我怀疑您通过设置隐藏控件Visibility.Hidden。
你应该使用Visibility.Collapsed.
在这里阅读更多:
不同之处在于Visibility.Hidden隐藏了控件,但保留了它在布局中所占的空间。所以它呈现空白而不是控件。
Visibilty.Collapsed不呈现控件并且不保留空白。控件占用的空间是“折叠的”,因此得名。
编辑后,很明显您正在使用Hidden. 改用折叠:
<DockPanel Grid.Row="1" HorizontalAlignment="Right" Width="300">
<Button Visibility="Collapsed"/>
<Button Visibility="Visible"/>
<Button Visibility="Collapsed"/>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
编辑:
删除样式和命令部分后,我检查了您的示例代码,发现了几个问题:
HorizontalAlignment="Right"从 DockPanel 中删除。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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1592 次 |
| 最近记录: |