9

我真的很困惑为什么我的一些文本框和按钮被切断了,有人可以帮我解决这个问题吗?谢谢!!

XAML 代码

<Grid>
        <TabControl>
            <TabItem Name="tabHome">
                <TabItem.Header>
                    <Label Content="Home" MouseLeftButtonDown="tabHome_Click"/>
                </TabItem.Header>
                <Grid>
                    <Button Content="Parse" Height="23" x:Name="btn_parse" Width="75" Click="buttonParse_Click" Margin="180,10,180,176"/>
                    <TextBox IsReadOnly="True"  x:Name="txtbox_filepath" Height="25" Width="135" Margin="151,52,150,132" />
                    <Button Content="Reset" Height="23" x:Name="btn_reset" Width="75" Margin="180,122,180,64" Click="buttonReset_Click"/>
                </Grid>
            </TabItem>
            <TabItem Name="tabConfig">
                <TabItem.Header>
                <Label Content="Configuration" MouseLeftButtonDown="tabConfig_Click"/>
                </TabItem.Header>
                <ScrollViewer>
                    <StackPanel Name="panelConfig">
                    </StackPanel>
                </ScrollViewer>
            </TabItem>
<Grid>

截屏

截屏

如您所见,按钮和文本框在角落被切断。
谢谢你的帮助,我很感激。

4

4 回答 4

15

当您提供这样的 Margin 值时,Margin="180,10,180,176"这意味着必须将控件放置在距左侧 180 处,距顶部 10 处,距右侧 180 处,距底部 176 处,参考父控件。由于高边距值,您的控件被剪裁。

在此处输入图像描述

注意:dip - 与设备无关的像素。

最好在具有合理边距值的单独行中创建RowDefinitionsGrid放置控件,如下所示。

<Grid>
    <TabControl>
        <TabItem Name="tabHome">
            <TabItem.Header>
                <Label Content="Home"/>
            </TabItem.Header>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
                <Button Grid.Row="0" Content="Parse" Height="23" x:Name="btn_parse" Width="75" Margin="10" />
                <TextBox Grid.Row="1" IsReadOnly="True"  x:Name="txtbox_filepath" Height="25" Width="135" Margin="10" />
                <Button Grid.Row="2" Content="Reset" Height="23" x:Name="btn_reset" Width="75" Margin="10"/>
            </Grid>
        </TabItem>
        <TabItem Name="tabConfig">
            <TabItem.Header>
                <Label Content="Configuration"/>
            </TabItem.Header>
            <ScrollViewer>
                <StackPanel Name="panelConfig">
                </StackPanel>
            </ScrollViewer>
        </TabItem>
    </TabControl>
</Grid>
于 2013-08-06T17:47:16.183 回答
3

您正在为按钮明确设置 aHeightWidth,但您使用的值太小。

如果您将它们关闭,则该按钮应正确显示:

<Button Content="Parse" x:Name="btn_parse" Click="buttonParse_Click" Margin="180,10,180,176"/>
<Button Content="Reset" x:Name="btn_reset" Margin="180,122,180,64" Click="buttonReset_Click"/>

Grid请注意,如果您自己使用 a或其他容器而不是使用, 来设计此布局,则可以更好地完成布局Margin

于 2013-08-06T17:44:04.073 回答
1

删除Height,WidthMargin属性。

不要使用 Visual Studio 设计器创建 WPF UI。

看看http://wpftutorial.net/LayoutProperties.html

于 2013-08-06T17:43:31.530 回答
0

您已经使用了 height、Width 属性和 Margin 属性。删除高度和宽度属性,它将正常工作。前任。

<Button Content="Parse" x:Name="btn_parse" Click="buttonParse_Click" Margin="180,10,180,176"/>

于 2018-08-23T13:15:41.810 回答