Это должно быть очень простой задачей, но по некоторым причинам я сталкиваюсь с большим количеством проблем с нею в WPF.
Это - то, что я хочу произойти: у Меня есть набор средств управления в окне, включая средства управления расширителем. Я хочу иметь полосы прокрутки для того окна, когда содержание расширяется ниже видимой области. Кроме того, окно не имеет фиксированной ширины, оно может быть максимизировано, изменено и т.д.
Я пытался поместить ScrollViewer как первый элемент в окне, но это не работает правильно. Если я установил высоту и ширину к Автоматическому, она не прокручивает и если я установил ее на spefic задержания, она создает поле, когда окно максимизируется.
Любая справка значительно ценилась бы!
Я предполагаю, что у вас есть проблемы с фиксированной шириной. Если вы предоставите образец своего XAML, я посмотрю, смогу ли я чем-то помочь. Следующее работает без отображения рамки:
<Window x:Class="WpfSample1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<ScrollViewer>
<StackPanel>
<Rectangle Height="400" Width="400" Fill="Red" Margin="10" />
<Rectangle Height="400" Width="400" Fill="Green" Margin="10" />
<Rectangle Height="400" Width="400" Fill="Blue" Margin="10" />
<Rectangle Height="400" Width="400" Fill="Yellow" Margin="10" />
</StackPanel>
</ScrollViewer>
</Window>
Вы должны установить HorizontalScrollBarVisibility и VerticalScrollBarVisibility в ScrollViewer на Авто.
Вот пример:
<Grid>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Canvas Width="400" Height="400">
<Button Canvas.Left="300">Left 300</Button>
<Button Canvas.Top="300">Top 300</Button>
</Canvas>
</ScrollViewer>
</Grid>
Это заменяет содержимое главного окна, созданное VS.
Запустите его и измените размер окна, увеличьте его до максимума, и вы увидите, как появляются и исчезают полосы прокрутки.