이미지를 Image
인스턴스로 포함 리소스에서로드하려고합니다. 내가 상쇄해야하기 때문에, 나는 그것이 화면에 렌더링하기 전에 이미지의 크기를 알 필요가이미지 크기는 항상 0을 반환합니다.
Image image = new Image();
ImageSource img = new System.Windows.Media.Imaging.BitmapImage(new Uri("/Images/marker.png", UriKind.Relative));
image.SetValue(Image.SourceProperty, img);
System.Diagnostics.Debug.WriteLine("output 1 = " + image.DesiredSize.Width); // return 0
System.Diagnostics.Debug.WriteLine("output 2 = " + image.ActualWidth); // return 0
: 문제는 이미지의 크기가 여기에 항상 0
인 코드입니다 이미지는 크기에 따라 다릅니다. 귀하의 확인 여기에이입니다입니다 - 감사 Silvermind 내가 샘플 코드
그것이 UI에 렌더링되기 전에 그것은 더'DesiredSize'가 없습니다 :
마지막으로, 나는 해결책을 찾아 냈다. – Silvermind
UI에 렌더링하기 전에 이미지 크기를 가져올 수 있습니까? –
컨트롤의 크기를 가져 오는 것은 렌더링 전에 실제로 수행 할 수 없습니다. http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.actualwidth(v=vs.95).aspx Silverlight에서는 HorizontalAligment 등을 사용하여 자동 위치를 생각할 때, 아마도 당신이 달성하고자하는 것을 알려주는 것이 낫습니다. – Silvermind