WPF First StackPanel内容可见,任何进一步不可见

时间:2018-02-21 03:36:38

标签: wpf visual-studio-2017 material-design stackpanel

我有多个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>

1 个答案:

答案 0 :(得分:1)

请在网格中添加以下语句:

 <Grid.RowDefinitions>
                <RowDefinition Height="auto"></RowDefinition>
 </Grid.RowDefinitions> 

默认情况下,grid的row属性设置为占用整个可用空间,即&#34; *&#34;将其更改为&#34; auto&#34;做了伎俩。