2

如果它被Stretched by ,我可以得到Heightand吗?WidthImageUniformToFill

我试过WidthHeight属性,但它们总是NaN

4

1 回答 1

4

如果您想知道图像控件的尺寸,可以这样:

double theHeight = this.ActualHeight - img.Margin.Top - img.Margin.Bottom;
double theWidth = this.ActualWidth - img.Margin.Left - img.Margin.Right;

img是上面代码中的图像控件名称,下面的代码中)


如果你想知道图像的实际大小(在拉伸之前),你可以试试这个:

BitmapSource SourceData = (BitmapSource)img.Source;
double imgWidth = SourceData.PixelWidth;
double imgHeight = SourceData.PixelHeight;

(我在这里找到了这个)


此外,这将为您提供调整大小后(但在统一之前)的图像尺寸:

double actWidth = img.ActualWidth;
double actHeight = img.ActualHeight;

因此,其中一个变量(actWidthactHeight)必须等于图像控制维度,而另一个变量将高于它。


请注意,如果您在事件中调用它们,则第二个和第三个代码不起作用Window_Loaded,因为此时没有加载图像。您应该在加载完所有内容后使用它。

于 2012-09-19T12:07:58.430 回答