2010-02-25 72 views
6

这应该是一个非常简单的任务,但由于某种原因,我在WPF中遇到了很多问题。可调整大小的窗口的WPF滚动条

这是我想要发生的事情: 我在窗口中有一堆控件,包括扩展控件。当内容扩展到可见区域下方时,我想要为该窗口滚动条。此外,窗口是不是固定的宽度,它可以最大化,调整大小等。

我试着把一个ScrollViewer作为第一个元素在窗口中,但它不能正常工作。如果我将高度和宽度设置为自动,则不会滚动,如果将其设置为spefic滞留,则会在窗口最大化时创建一个框。

任何帮助将不胜感激!

+1

请问您能解释一下,“它创造一个盒子”是什么意思?我不太明白。 – Vlad

+0

这意味着中间有一个固定宽度的区域,当窗口周围的窗口扩大时 –

+0

在这种情况下,请您发布您的XAML?有趣的是窗口本身及其直接的子元素(ScrollViewer?)。 – Vlad

回答

10

我假设你有一些固定的宽度问题。如果你提供了你的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> 
+0

原来它是cotnrols固定宽度的问题,谢谢! –

8

应设置Horizo​​ntalScrollBarVisibility和ScrollViewer中的VerticalScrollBarVisibility为自动。

下面是一个例子:

<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.产生的主窗口的内容

运行它并更改窗口大小,使其最大化,然后滚动条出现并消失。

相关问题