首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActualWidth和ActualWidth为0

ActualWidth和ActualWidth为0
EN

Stack Overflow用户
提问于 2016-03-14 08:55:31
回答 1查看 140关注 0票数 0

首先,是的,我已经阅读了所有建议的“问题可能已经得到你的答案”,所以我相信这不是一式两份。

我在页面上有一个网格:

代码语言:javascript
复制
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="70"/>
    </Grid.RowDefinitions>

    <!--TitlePanel contains the name of the application and page title-->
    <StackPanel Grid.Row="0" Margin="12,17,0,28">
        <TextBlock Text="Please sign below." Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Image x:Name="SignImage" />
    </Grid>
    <Grid Background="Transparent" Grid.Row="2" Margin="12,0,10,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="120"/>
            <ColumnDefinition Width="120"/>
            <ColumnDefinition Width="10"/>
        </Grid.ColumnDefinitions>

        <Button x:Name="ClearButton" Content="Clear" Grid.Column="1"/>
        <Button x:Name="OkButton" Content="Ok" Grid.Column="2"/>
    </Grid>
</Grid>

然后这个CodeBehind:

代码语言:javascript
复制
public MainPage()
{
    InitializeComponent();
    this.Loaded += MainPage_Loaded;
    // Sample code to localize the ApplicationBar
    //BuildLocalizedApplicationBar();
}

……

代码语言:javascript
复制
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
  MessageBox.Show($"SignImage.ActualWidth: {SignImage.ActualWidth}, SignImage.ActualWidth: {SignImage.ActualWidth} ");
}

问题是我的图像大小是0(0)。

如何使我的图像填写我放置它的单元格?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-15 06:32:27

首先,*和Auto之间有区别。请检查主网格的大小。"*“是用来填充可用空间的拉伸,是一个小部分,所以如果一行是*,另一行是2*,那么第二行的大小将是第一行的两倍。

自动意味着它需要任何/或仅需要的空间。

如果您已经将整个网格的大小设置为一个较小的高度,那么就会出现一个问题。为主网格组件设置MinHeight。

其次,您还没有将SignImage的图像设置为大小,这意味着您显然会将ActualWidth和ActualHeight设置为零。在没有设置Source的情况下,图像标记为空。

代码语言:javascript
复制
<Image x:Name="SignImage" Source="C:\Users\Administrator\Pictures\user-thumbnail.png"/>

设置图像源后检查是否获得了ActualWidth和ActualHeight

看看这张图片,我写了你的代码。您可以看到,对于网格0和2,网格1有高度设置,正如您所写的那样,没有高度设置*,因此有必要将高度设置为父级。

现在看看这个图像,我已经将父元素的高度设置为200,因此您可以看到Gird 1是可见的,并且高度不是0。

因此,必须设置高度或设置图像源的高度不为零。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35983104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档