2012-01-01 77 views
5

嗨,感謝您的期待!如何在WPF/XAML中滾動網格行?

背景

我已在WPF一個簡單的小應用程序,具有由一列兩行的網格佈局。頂行包含標題的簡單標籤,底行包含一個在運行時動態填充圖像縮略圖的wrappanel。這裏是XAML:

<Window x:Class="HTNavigator.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" WindowState="Maximized" WindowStyle="None"> 
    <Window.Background> 
     <ImageBrush ImageSource="/HTNavigator;component/Images/HNBG.jpg" /> 
    </Window.Background> 
    <Grid > 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition /> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="75"/> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <StackPanel Grid.Column="0" Grid.Row="0" Height="50" HorizontalAlignment="Left" Margin="30,10,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="Auto" FlowDirection="LeftToRight" Orientation="Horizontal" > 
      <Label Content="Home Navigator v0.1" FontFamily="Tahoma" FontSize="18" FontWeight="Bold" Foreground="White" /> 
      <Button Content="Close" Height="50" Click="Button_Click"></Button> 
     </StackPanel> 
     <ScrollViewer Grid.Row="1" Name="MyScrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> 
      <WrapPanel HorizontalAlignment="Center" Name="spContainer" VerticalAlignment="Top" ClipToBounds="True"></WrapPanel> 
     </ScrollViewer> 
    </Grid> 
</Window> 

問題

滾動條不顯示和鼠標滾輪滾動也不起作用。我原來沒有使用網格佈局,並在這一次的XAML的這部分表現爲預期:

<ScrollViewer Name="MyScrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> 
      <WrapPanel HorizontalAlignment="Center" Name="spContainer" VerticalAlignment="Top"    ClipToBounds="True" ItemHeight="Auto"> </WrapPanel> 
</ScrollViewer> 

現在一切都勾畫出正確的,但我沒有得到我的垂直滾動的能力(我不知道想要水平滾動)。

有什麼想法?

謝謝!

馬特

回答

3

我知道這是除夕,但你有沒有在WrapPanel,你有行高度自動所以它會爲內容的增長。將東西放在WrapPanel中,並將高度設置爲*。並從ColumnPanel內的標籤中取出列。

在你的「之前你有一個網格」的例子中有一個Grid.Row。新年快樂。

+0

你在說什麼?新年前夕差不多14h前! SCNR :) – ChrisWue 2012-01-01 00:36:43

+0

哈哈,對不起所有的好點。事實上,在慶祝之前試圖突破這個問題是個問題! Wrappanel在運行時獲取其內容。我會嘗試你提到的其他事情。謝謝! – 2012-01-01 00:46:59

+0

再次感謝BalamBalam - 祝您新年快樂! – 2012-01-01 00:56:57