我真的很困惑为什么我的一些文本框和按钮被切断了,有人可以帮我解决这个问题吗?谢谢!!
XAML CODE
<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>
截图
正如您所见,按钮和文本框在角落处被切断。
感谢您的帮助,我很感激。
答案 0 :(得分:12)
当你给出像这个Margin="180,10,180,176"
这样的Margin值时,这意味着必须将控件放置在距离左边180度,从顶部倾斜10度,从右边倾斜180度,从底部调整176度,参考父控件。由于高保证金值,您的控件被裁剪。
注意:dip - 设备独立像素。
最好为RowDefinitions
创建Grid
,并将控件放在具有合理边距值的单独行中,如下所示。
<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>
答案 1 :(得分:3)
您明确为按钮设置了Height
和Width
,但您使用的值太小。
如果您将其关闭,则按钮应正确显示:
<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
或其他容器而不是使用Margin
自行设计,则可以更好地完成布局。
答案 2 :(得分:1)
删除Height
,Width
和Margin
属性。
不要使用Visual Studio设计器来创建WPF UI。
答案 3 :(得分:0)
您已经使用了height,Width属性和Margin属性。删除height和width属性,它将正常工作。例如。
<Button Content="Parse" x:Name="btn_parse" Click="buttonParse_Click" Margin="180,10,180,176"/>