我有多个StackPanel包含材质设计PackIcon和TextBox。 它们相互抵消50个单位并包含在WPF网格中。
第一个(我的代码中的用户名)是可见的,但第二个和第三个不可见。 这在Visual Studio的xaml预览以及正在运行的应用程序中都会发生。
这是网格的代码。除了内容和偏移量之外,所有三个StackPanel都是相同的。
<Grid Margin="0,50,250,0">
<TextBox Text="Connect" FontSize="24" Margin="20,50" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<StackPanel Margin="5,100" VerticalAlignment="Top" Orientation="Horizontal" Height="30">
<MaterialDesign:PackIcon Kind="Account" VerticalAlignment="Center"/>
<TextBox Style="{DynamicResource MaterialDesignTextBox}" Width="200" Height="25" MaterialDesign:HintAssist.Hint="Username" Margin="10,0"/>
</StackPanel>
<StackPanel Margin="5,150" VerticalAlignment="Top" Orientation="Horizontal" Height="30">
<MaterialDesign:PackIcon Kind="Earth" VerticalAlignment="Center"/>
<TextBox Style="{DynamicResource MaterialDesignTextBox}" Width="200" Height="25" MaterialDesign:HintAssist.Hint="URL / IP Address" Margin="10,0"/>
</StackPanel>
<StackPanel Margin="5,200" VerticalAlignment="Top" Orientation="Horizontal" Height="30">
<MaterialDesign:PackIcon Kind="Ethernet" VerticalAlignment="Center"/>
<TextBox Style="{DynamicResource MaterialDesignTextBox}" Width="200" Height="25" MaterialDesign:HintAssist.Hint="Port" Margin="10,0"/>
</StackPanel>
</Grid>
答案 0 :(得分:1)
请在网格中添加以下语句:
<Grid.RowDefinitions>
<RowDefinition Height="auto"></RowDefinition>
</Grid.RowDefinitions>
默认情况下,grid的row属性设置为占用整个可用空间,即&#34; *&#34;将其更改为&#34; auto&#34;做了伎俩。