Есть Grid, в нем есть ячейка которая может увеличиваться сплиттерами. В этой ячейке есть такой контент:
<ScrollViewer Grid.Column="2" HorizontalScrollBarVisibility="Visible">
<Canvas x:Name="layoutCanvas" Background="AliceBlue">
<Image Source="stuff/samplebg.png"></Image>
</Canvas>
</ScrollViewer>
так вот картинка по своему размеру больше чем размер Grid.Column="2", но скроллинг не появляется. What I do wrong?
Здравствуйте, skodnik, Вы писали:
S>Есть Grid, в нем есть ячейка которая может увеличиваться сплиттерами. В этой ячейке есть такой контент:
S>S><ScrollViewer Grid.Column="2" HorizontalScrollBarVisibility="Visible">
S> <Canvas x:Name="layoutCanvas" Background="AliceBlue">
S> <Image Source="stuff/samplebg.png"></Image>
S> </Canvas>
S> </ScrollViewer>
S>
S>так вот картинка по своему размеру больше чем размер Grid.Column="2", но скроллинг не появляется. What I do wrong?
Не прав ты в том, что был использован Canvas. Данный элемент не устанавливает свой размер
по размерам входящих элементов, он устанавливает размер в тот, что ему позволят его контейнер.
Поэтому полосы прокрутки не появляются. Либо замени Canvas, либо выстави ему руками Widht & Height
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, skodnik, Вы писали:
S>>Есть Grid, в нем есть ячейка которая может увеличиваться сплиттерами. В этой ячейке есть такой контент:
S>>S>><ScrollViewer Grid.Column="2" HorizontalScrollBarVisibility="Visible">
S>> <Canvas x:Name="layoutCanvas" Background="AliceBlue">
S>> <Image Source="stuff/samplebg.png"></Image>
S>> </Canvas>
S>> </ScrollViewer>
S>>
S>>так вот картинка по своему размеру больше чем размер Grid.Column="2", но скроллинг не появляется. What I do wrong?
А>Не прав ты в том, что был использован Canvas. Данный элемент не устанавливает свой размер
А>по размерам входящих элементов, он устанавливает размер в тот, что ему позволят его контейнер.
А>Поэтому полосы прокрутки не появляются. Либо замени Canvas, либо выстави ему руками Widht & Height
А если мне надо чтобы Canvas имел размеры Image который в нем. Как прибиндить?
Здравствуйте, skodnik, Вы писали:
S>А если мне надо чтобы Canvas имел размеры Image который в нем. Как прибиндить?
Уже нашел:
<Canvas x:Name="layoutCanvas" Background="AliceBlue" Width="{Binding ElementName=bgImage, Path=ActualWidth}" Height="{Binding ElementName=bgImage, Path=ActualHeight}">
<Image x:Name="bgImage" Source="stuff/samplebg.png"></Image>
</Canvas>
Здравствуйте, skodnik, Вы писали:
S>Здравствуйте, skodnik, Вы писали:
S>>А если мне надо чтобы Canvas имел размеры Image который в нем. Как прибиндить?
S>Уже нашел:
S>S> <Canvas x:Name="layoutCanvas" Background="AliceBlue" Width="{Binding ElementName=bgImage, Path=ActualWidth}" Height="{Binding ElementName=bgImage, Path=ActualHeight}">
S> <Image x:Name="bgImage" Source="stuff/samplebg.png"></Image>
S> </Canvas>
S>
На самом деле есть решение попроще
Здравствуйте, Codechanger, Вы писали:
C>На самом деле есть решение попроще
В студию!
Здравствуйте, skodnik, Вы писали:
S>Здравствуйте, Codechanger, Вы писали:
C>>На самом деле есть решение попроще
S>В студию!
<Grid>
<ScrollViewer>
<Grid>
<Image Stretch="None" Source="Тут большая картинка">
</Image>
<Border BorderBrush="Red" BorderThickness="5">
<Canvas Name="canvas">
<TextBlock Canvas.Left="500" Canvas.Top="1000" Text="{Binding ElementName=canvas,Path=ActualHeight}" Foreground="Red"/>
</Canvas>
</Border>
</Grid>
</ScrollViewer>
</Grid>
Вот так Canvas растянется на весь размер Image.