Спасибо за Ваш ответ. Я попытался обрезать изображение, но, похоже, масштабирование каким-то образом игнорирует все границы. (Я добавил StackPanel только для того, чтобы ограничить его выход за пределы ранее). Похоже, это ошибка.

ема: Я использую анимацию UWP Community Toolkit Scale, и она работает, как и ожидалось, для большинства изображений вGridView, но для некоторых изображение выходит за пределы.(Пожалуйста, смотрите изображение ниже)

Я обнаружил, что проблема возникает, когда ширина изображения более чем в 2 раза (в 2 раза) превышает высоту изображения. Это когда изображение очень широкое.

Код

Я использую пользовательский элемент управления в качестве шаблона данных Xaml:

<!-- Grid View  -->
<GridView x:Name="gridView" SelectionChanged="gridView_SelectionChanged">
   <GridView.ItemTemplate>
      <DataTemplate>
           <local:GridViewMenu/>
      </DataTemplate>
   </GridView.ItemTemplate>
</GridView>
<!-- GridViewMenu User Control markup -->
<Grid>
  <StackPanel>
    <Image Source="{Binding webformatURL}" Stretch="UniformToFill" PointerEntered="image_PointerEntered" PointerExited="image_PointerExited"/>
  </StackPanel>
</Grid>

Код C #:

        private void image_PointerEntered(object sender, PointerRoutedEventArgs e)
        {
            Image img = sender as Image;            

            img.Scale(centerX: (float)(grid.ActualWidth / 2),
                        centerY: 100,
                        scaleX: 1.2f,
                        scaleY: 1.2f,
                        duration: 500, delay: 0).StartAsync();
        }

        private void image_PointerExited(object sender, PointerRoutedEventArgs e)
        {
            Image img = sender as Image;

            img.Scale(centerX: (float)(grid.ActualWidth / 2),
                        centerY: 100,
                        scaleX: 1f,
                        scaleY: 1f,
                        duration: 500, delay: 0).StartAsync();
        }

Результат (верхнее левое изображение не соответствует ожидаемому, то есть выходит за границы)

Как я могу решить эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос