这应该是一个非常简单的任务,但由于某种原因,我在 WPF 中遇到了很多问题。
这就是我想要发生的事情:我在一个窗口中有一堆控件,包括扩展控件。当内容在可见区域下方展开时,我希望该窗口具有滚动条。此外,窗口不是固定宽度的,它可以最大化、调整大小等。
我尝试将 ScrollViewer 作为窗口中的第一个元素,但它无法正常工作。如果我将高度和宽度设置为自动,它不会滚动,如果我将其设置为特定的滞留,它会在窗口最大化时创建一个框。
任何帮助将不胜感激!
这应该是一个非常简单的任务,但由于某种原因,我在 WPF 中遇到了很多问题。
这就是我想要发生的事情:我在一个窗口中有一堆控件,包括扩展控件。当内容在可见区域下方展开时,我希望该窗口具有滚动条。此外,窗口不是固定宽度的,它可以最大化、调整大小等。
我尝试将 ScrollViewer 作为窗口中的第一个元素,但它无法正常工作。如果我将高度和宽度设置为自动,它不会滚动,如果我将其设置为特定的滞留,它会在窗口最大化时创建一个框。
任何帮助将不胜感激!
我假设你有一些固定宽度的问题。如果您提供您的 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>
您应该将 ScrollViewer 的 HorizontalScrollBarVisibility 和 VerticalScrollBarVisibility 设置为 Auto。
这是一个例子:
<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 生成的主窗口的内容。
运行它并更改窗口的大小,最大化它,您将出现和消失滚动条。