Почему ActualWidth и ActualHeight изображения возвращают 0 после события Loaded? - PullRequest
0 голосов
/ 04 октября 2019

Мое окно просто содержит элемент Image, такой как этот,

<Image Width='255'
           Height='255'
           x:Name='img' Loaded='img_Loaded'/>

Я хочу получить значения ActualWidth и ActualHeight, когда изображение загружено, но я получаю ноль,

Как мне получить эти значения во время выполнения?

Редактировать

Я пытаюсь получить эти значения в обработчике img_Loaded.

        private void img_Loaded(object sender, RoutedEventArgs e)
        {
            int width = (int)img.ActualWidth;
            int height = (int)img.ActualHeight;
            // why zero?
        }

1 Ответ

0 голосов
/ 04 октября 2019

Если вы установите источник изображения, то вы получите фактическую высоту и фактическую ширину.

Я пробовал:

 <Image Name="img" Height="255" Width="250" Loaded="Image_Loaded" Source="delivery3.jpg"/>

и

    private void Image_Loaded(object sender, RoutedEventArgs e)
    {
        Debug.WriteLine($"ActualHeight {img.ActualHeight}");
    }

Что дает фактическую высоту 255конечно, потому что высота установлена ​​на 255.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...