内部StackPanel不可见。

3

我有一个StackPanel,里面还嵌套了另一个StackPanel和一些标签。但是由于某种原因,内部的StackPanelLabel都没有显示出来,这是为什么呢?

<Window x:Class="WeatherApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Weather Application" Height="550" Width="850" Loaded="Window_Loaded" IsEnabled="True" ResizeMode="CanMinimize" Icon="/WeatherApplication;component/Images/weatherIcon.png">
    <Grid Height="522" Background="#FFE7E7E7">
        <DockPanel>
            <Menu DockPanel.Dock="Top" Height="35" FontWeight="Bold" FontFamily="Arial">
                <MenuItem Header="_File" Height="30" VerticalAlignment="Center" Padding="7,8,8,3">
                    <MenuItem Header="_Settings"/>
                    <MenuItem Header="_Close"/>
                </MenuItem>
                <MenuItem Header="_Help" Padding="7,8,8,3">
                    <MenuItem Header="_Guide"/>
                    <MenuItem Header="_About"/>
                </MenuItem>
                <Menu.Background>
                    <ImageBrush ImageSource="/WeatherApplication;component/Images/menuBG.png" />
                </Menu.Background>
            </Menu>
            <StackPanel Width="230" HorizontalAlignment="Left" Margin=" 5">
                <Label Content="Search location" FontFamily="Arial" FontSize="14" Height="28" Name="searchLocationLabel" IsEnabled="False" />
                <StackPanel Orientation="Horizontal">
                    <Label Width="100" FontFamily="Arial" FontSize="14" Margin="3">Town</Label>
                    <TextBox Margin="3" Width="120"></TextBox>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="100" FontFamily="Arial" FontSize="14" Margin="3">County</Label>
                    <TextBox Margin="3" Width="120"></TextBox>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="100" FontFamily="Arial" FontSize="14" Margin="3">Post Code</Label>
                    <TextBox Margin="3" Width="120"></TextBox>
                </StackPanel>
                <Button Content="Search" Height="23" Name="searchButton" Width="75" HorizontalAlignment="Right" Margin="0 5"/>
                <Separator Height="5" Name="separator1" Width="245" HorizontalAlignment="Right"/>
                <Label Content="Weather Today" FontFamily="Arial" FontSize="14" Height="28" Name="weatherTodayLabel" IsEnabled="False" Margin="0 5"/>
                <Label Content="Bury St Edmunds" FontFamily="Arial" FontSize="14" FontWeight="Bold" Height="28" Name="label1" />
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Temperature:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="75&#176;"></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Condition:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Mostly Cloudy"></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Hi:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="75&#176;"></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Low:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="75&#176;"></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Wind Speed:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="12mph"></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Humidity:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="75&#176;"></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Sunrise:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="11:40am"></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Sunset:"></Label>
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="4:41pm"></Label>
                </StackPanel>
            </StackPanel>
            <StackPanel Width="580" Height="400" HorizontalAlignment="right" Background="#FFD14040" VerticalAlignment="Top" Margin="30 -10 -1 0" ZIndex="-1">
                    <Border Width="575" Height="400" HorizontalAlignment="right" Background="Transparent" BorderBrush="Black" BorderThickness="1" Margin="0 0 -0 0">
                        <Border.Effect>
                            <DropShadowEffect ShadowDepth="1" BlurRadius="10"/>
                        </Border.Effect>
                    </Border>

            </StackPanel>
            <StackPanel Name="stackPanel111" HorizontalAlignment="Right" VerticalAlignment="Bottom" Orientation="Horizontal">
                <StackPanel Height="100" Background="AliceBlue">
                    <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Tuesday" />
                    <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="75&#176;" />
                </StackPanel>
            </StackPanel>

        </DockPanel>
    </Grid>
</Window>

这是现在的样子:


嗨,我复制了你的XAML并粘贴到我的项目中,两个标签都可见。 - adminSoftDK
它们存在,但在屏幕外。 - Patrick Hofman
移除顶部Stackpanel的高度和宽度,看看是否符合您的期望布局。 - Florian Schmidinger
1个回答

5

你第一个堆栈面板中的 Width="580"WindowWidth="525" 冲突。它会将内容推出屏幕。

移除 StackPanelWidth,问题就解决了:

<StackPanel Name="stackPanel111" HorizontalAlignment="Right" VerticalAlignment="Bottom" Orientation="Horizontal">
    <StackPanel Height="100" Background="AliceBlue">
        <Label Width="110" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="Tuesday" />
        <Label Width="130" FontFamily="Arial" FontSize="14" FontWeight="Bold" Content="75&#176;" />
    </StackPanel>
</StackPanel>

在空应用程序中运行,这是结果: 图片描述

那并没有帮助。我添加了一个带有你标记的UI截图。感谢你的努力。 - crmepham
这有点是,但又不是。注意内部StackPanel的AliceBlue背景没有显示出来。每个标签的内容也没有显示! - crmepham
@crm:看一下在空应用程序“窗口”中的更新效果如何。如果对你也有效,请告诉我。 - Patrick Hofman
它没有改变任何东西。我添加了其余的XAML。也许还有其他原因导致问题? - crmepham
所有其他面板也有高度。我猜它们之间存在冲突。我们能否同意这解决了第一个问题? - Patrick Hofman
当然,尽管它从未被推出屏幕。那从来不是问题所在。只是内容不可见。 - crmepham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接