2010-04-22 68 views
4

我有一個Grid,3乘3(3 RowDefinitions和3 ColumnDefinitions)。我想要在其中一個網格單元格中滾動一些內容(一個StackPanel)。我相當確信這是可能的,但我不知道如何。我已經嘗試將ScrollViewersScrollBar控件添加到我想要滾動的網格單元格中,但這通常會最終爲整個頁面創建滾動。如何在Silverlight中將ScrollBar添加到StackPanel?

編輯: 我的問題更具體地說,我如何滾動StackPanel。舉例來說,如果我遇到的問題是這樣的:

<Grid x:Name="LayoutRoot"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition/> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 

    <Grid> 
     <TextBlock FontSize="16">1,1</TextBlock> 
    </Grid> 
    <Grid Grid.Column="1"> 
     <TextBlock FontSize="16">1,2</TextBlock> 
    </Grid> 
    <Grid Grid.Row="1"> 
     <TextBlock FontSize="16">2,1</TextBlock> 
    </Grid> 
    <Grid Grid.Column="1" Grid.Row="1"> 
     <StackPanel> 
      <TextBlock>Title</TextBlock> 
      <Grid> 
       <ScrollViewer> 
        <StackPanel> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
         <TextBlock FontSize="32">2,2</TextBlock> 
        </StackPanel> 
       </ScrollViewer> 
      </Grid> 
     </StackPanel> 
    </Grid> 
</Grid> 
+0

ScrollViewer是Job的工具,也許你可以顯示使用Xaml,它不能使用ScrollViewer。 – AnthonyWJones 2010-04-22 14:10:38

+0

安東尼的權利。網格單元格中的ScrollViewer就是您要查找的內容。 – JustinAngel 2010-04-22 16:15:05

+0

感謝您提供幫助。我已更新我的帖子以更具體。 – programatique 2010-04-22 19:36:10

回答

3

StackPanel將其內容視爲無限空間。要滾動堆疊面板,您將不得不對高度進行限制 - 最有可能的是堆疊面板的網格父級。

+0

有沒有辦法設置堆疊面板的高度,以便它隨着它的父網格動態變化? – programatique 2010-04-22 20:43:16

+0

如果您設置了堆疊面板的高度,則其中的控件將不會顯示。您需要讓堆棧面板大小適合其中的控件,然後在顯示視口內滾動堆棧面板。設置最內層堆疊面板的父網格的高度。滾動查看器將隨後在較小的網格視口內滾動較大的堆疊面板。 – dthorpe 2010-04-22 20:52:10

相關問題