为什么这个按钮会被切断?

dot*_*hen 4 wpf xaml

在以下XAML代码中,按钮文本缺少一半.我可以更改Margin属性,很明显,250px后内容被隐藏.为什么会这样,我该如何解决?

<Window x:Class="InnerInterface.InventoryManagement" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="someWindow" Height="500" Width="500">
    <DockPanel HorizontalAlignment="Left" Name="dockPanel1" VerticalAlignment="Top">
        <Grid DockPanel.Dock="Top">
            <Button Name="buttonReturnToMainMenu" Content="someButton" Margin="200,0" Width="125" />
        </Grid>
    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

Rac*_*hel 16

水平边距为200,按钮宽度为125,这意味着正确显示控件所需的总宽度约为525.

您也可以HorizontalAlignment=Left"使用DockPanel它,这意味着它将以所需的任何宽度绘制内容,并将其与屏幕的左侧对齐,而不是将其拉伸以填充所有可用空间.这意味着它会阻挡控件两侧的200空间,并在剩余空间中绘制按钮.如果此剩余空间小于125,则将裁剪图像.

如果切换到HorizontalAlignment="Stretch",则它将首先绘制控件(带边距),然后拉伸它的大小以使其适合所有可用空间,因此整个控件将调整大小而不是裁剪.

您可能有兴趣阅读有关 WPF中的对齐,边距和填充的MSDN文章.

编辑

如果你想Left保证金为200,然后使用Margin="200,0,0,0".使用Margin="200,0"意味着左边距和右边距都是200.