Bạn chắc cũng đã từng thử câu lệnh MyImage.ActualHeight hoặc MyImage.ActualWidth và đôi lần lấy được chiều cao/ chiều rộng thực sự, và đôi lần lại lấy được giá trị là 0.
Nguyên nhân là tấm ảnh chưa được load về máy client nên bạn không thể lấy được chiều cao/chiều rộng thực sự của nó. Để khắc phục điều này, bạn sử dụng sự kiện Image.ImageOpened:
Namespace: System.Windows.Controls
Assembly: System.Windows (in System.Windows.dll)
Sử dụng:
Code Xaml:
Nguyên nhân là tấm ảnh chưa được load về máy client nên bạn không thể lấy được chiều cao/chiều rộng thực sự của nó. Để khắc phục điều này, bạn sử dụng sự kiện Image.ImageOpened:
Image.ImageOpened Event
Occurs when the image source is downloaded and decoded with
no failure. You can use this event to determine the size of an image
before rendering it.
Namespace: System.Windows.Controls
Assembly: System.Windows (in System.Windows.dll)
Sử dụng:
Code Xaml:
<Image ImageOpened="Image_ImageOpened"/>
void Image_ImageOpened(object sender, RoutedEventArgs e) { Image img = (Image)sender; BitmapImage bi = (BitmapImage)img.Source; double width = bi.PixelWidth; double height = bi.PixelHeight; }
Nhận xét
Đăng nhận xét