2013-01-14 22 views
0

我需要讓我的網格可以滾動。我有一個網格控件,最終將保存30-40行數據。我用代碼動態地填充/創建這些行。每當這些行在屏幕上呈現時,他們都會嘗試適應我爲網格設置的高度。我嘗試在scrollviewer包裝我的網格,但沒有奏效。我想遠離列表框,因爲文本會變得不對齊。這裏是我的構建網格XAML代碼:如何使Windows Phone上的網格可滾動?

  <ScrollViewer Canvas.Left="56" Canvas.Top="354"> 
     <Grid x:Name="grdWeather" Canvas.Left="56" Canvas.Top="354" Width="371" ShowGridLines="True" Background="#FFDCB3B3" ScrollViewer.VerticalScrollBarVisibility="Visible" MaxHeight="196"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="100"/> 
       <ColumnDefinition Width="100"/> 
       <ColumnDefinition Width="100"/> 
      </Grid.ColumnDefinitions> 
      </Grid> 
     </ScrollViewer> 

這裏是我創建的行代碼:

   for (int t = 0; t <= 30; t++) 
      { 
       RowDefinition row1 = new RowDefinition(); 
       grdWeather.RowDefinitions.Add(row1); 

       TextBlock txtTime = new TextBlock(); 
       txtTime.Text = time; 
       txtTime.SetValue(Grid.RowProperty, t); 
       txtTime.SetValue(Grid.ColumnProperty, 0); 
       txtTime.Width = 100; 
       grdWeather.Children.Add(txtTime); 

       TextBlock txtTemp = new TextBlock(); 
       txtTemp.Text = time; 
       txtTemp.Width = 100; 
       txtTemp.SetValue(Grid.RowProperty, t); 
       txtTemp.SetValue(Grid.ColumnProperty, 1); 
       grdWeather.Children.Add(txtTemp); 
      } 

任何建議/反饋讚賞。謝謝!

回答

1

使用ListBox絕對是一個更好的主意。代碼的問題是網格上的MaxHeight = 196。刪除它就可以工作