Как автоматически изменить размер изображения, чтобы оно соответствовало измененному размеру холста в ячейке сетки Silverlight - PullRequest
2 голосов
/ 27 января 2011

Например, у меня есть сетка, и одна из ячеек содержит изображение. Поскольку я установил цвет фона для ячеек, я вижу, что размер сетки изменяется, когда пользователь изменяет размер браузера, но как мне заставить изображение также изменять размер?

Я забыл сказать, что мое изображение находится внутри холста, и хотя холст автоматически масштабируется по ячейке сетки, мое изображение автоматически не масштабируется по холсту.

Ответы [ 2 ]

3 голосов
/ 27 января 2011

Если ваше изображение помещено непосредственно в сетку, его поведение по умолчанию Stretch с is Stretch="Uniform" обеспечит изменение размера вместе с сеткой.Попробуйте следующий XAML для проверки:

  <Grid x:Name="LayoutRoot" ShowGridLines="True">
    <Grid.RowDefinitions>
      <RowDefinition Height="*"/>
      <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Image Source="MyImage.png"
           Grid.Row="0"/>
  </Grid>

Однако, исходя из вашего обновленного вопроса ... ваше изображение находится в пределах холста.Панель Canvas предназначена для обеспечения абсолютного позиционирования своих дочерних элементов.Вы не можете растягивать или выравнивать элементы внутри холста.

Итог - используйте другую панель в качестве контейнера!

2 голосов
/ 27 января 2011

Я нашел ответ на этот вопрос:

<Canvas Name="canvas" >
    <Canvas.Background>
        <ImageBrush ImageSource="/hsl;component/face-recognition.jpg" />
    </Canvas.Background>      
</Canvas>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...