Windows Phone 7. У меня есть ScrollViewer внутри StackPanel внутри PivotItem внутри Pivot. Над ScrollViewer есть некоторые другие элементы управления. Мое намерение состоит в том, что ScrollViewer берет доступную нижнюю часть экрана (~ 400 пикселей), а его содержимое прокручивается по вертикали (высота контента ~ 800 пикселей).WP7: размер видового экрана ScrollViewer
Теперь, сейчас нет вертикальной прокрутки - при попытке перетащить представление возвращается в предыдущей позиции, как если бы размер видового экрана точно соответствовал размеру содержимого. Когда я смотрю на свойство ViewportHeight, это ~ 800px - то же, что и контент.
Высота ScrollViewer не установлена («Авто»); Я предполагал, что это займет ровно пространство. Это, очевидно, не так. Вопрос: не задано значение Высота вручную, есть ли способ реализовать логику «высота видового экрана - это точно, сколько вертикального пространства у вас осталось»?
EDIT: вот XAML, не относящиеся к делу детали удалены:
<Pivot x:Name="Root">
<ctls:PivotItem>
<ctls:PivotItem.Header>Title</ctls:PivotItem.Header>
<StackPanel>
<!-- More stuff here-->
<ScrollViewer Name="MenuPanel" HorizontalScrollBarVisibility="Disabled">
<Canvas x:Name="Menu" HorizontalAlignment="Left" VerticalAlignment="Top">
</Canvas>
</ScrollViewer>
</StackPanel>
</ctls:PivotItem>
</Pivot>
Ширина и высота холста устанавливаются в коде.
Просто упаковка в сетку, похоже, не помогает ... –