C# 我无法获取UIElement的实际大小

C# 我无法获取UIElement的实际大小,c#,silverlight,windows-phone-7,size,uielement,C#,Silverlight,Windows Phone 7,Size,Uielement,我有一个图像控件,在运行时生成。它在显示时呈现正确的大小。但我不能得到那个元素的大小。宽度和高度为NaN。ActualWidth和ActualHeight始终为0.0,控件从不触发SizeChanged事件 我也在运行时生成文本框,但我无法得到它们的大小 生成图像的代码如下所示 ExtendedImage=新的ExtendedImage; image.Name=element+item.Id; 如果item.Text.ToUpperInvariant.EndsWith.GIF { var gif

我有一个图像控件,在运行时生成。它在显示时呈现正确的大小。但我不能得到那个元素的大小。宽度和高度为NaN。ActualWidth和ActualHeight始终为0.0,控件从不触发SizeChanged事件

我也在运行时生成文本框,但我无法得到它们的大小

生成图像的代码如下所示

ExtendedImage=新的ExtendedImage; image.Name=element+item.Id; 如果item.Text.ToUpperInvariant.EndsWith.GIF { var gif=BookReader.Imaging.gidecoder.DecodeApplication.GetResourceStreamnew-UriFiles/Books/+item.BookId+/+item.Text,UriKind.Relative.Stream; image.Source=gif.Frames[0]。图像; } 其他的 { var img=new-BitmapImagenew-Uri/Files/Books/+item.BookId+/+item.Text,UriKind.Relative; image.Source=img; } image.SetValueCanvas.LeftProperty,doubleitem.LocationX; image.SetValueCanvas.TopProperty,doubleApplication.Current.Host.Content.ActualHeight-item.Location; image.SizeChanged+=o,e=> { var sender=o作为扩展映像; image.SetValueUIElement.RenderTransferorMoriginProperty,新点0.5,0.5; }; 图像失效测量; 如果项目。可见 { image.Visibility=System.Windows.Visibility.Collapsed; } ContentPanel.Children.Addimage;
如果图像的容器具有高度和宽度,则图像也应具有高度和宽度。尝试将图像放入网格或堆叠面板,并明确设置大小。

如果图像的容器具有高度和宽度,则图像也应具有高度和宽度。尝试将图像放入网格或堆栈面板中,并明确设置大小。

在渲染图像之前,您无法访问图像的大小。如果没有显式大小,则无法在画布中渲染项目


因此,您的问题是,您试图在实际渲染之前获取图像的大小。

您无法在渲染之前访问图像的大小。如果没有显式大小,则无法在画布中渲染项目


因此,您的问题是,您试图在实际渲染图像之前获取图像的大小。

图像包含在画布中,画布具有高度和宽度。谢谢您的回答。画布容器的大小为NaN。当我解决这个问题时,我的问题就解决了。你能告诉我你是如何解决你的问题的吗?我也有同样的问题。它包含在画布中,画布有高度和宽度。谢谢你的回答。画布容器的大小为NaN。当我解决这个问题时,我的问题就解决了。你能告诉我你是如何解决你的问题的吗?我也有同样的问题。