2011-08-03 11 views
2

私は大きなキャンバスを持っています。私はdrageイベントのコードの中にtextblockを追加しています。テキストブロックを追加するたびに、Scrollviewerは最初のtextblocを設定/表示します。したがって、最後のテキストブロックまで手動でスクロールする必要があります。だから私は、問題のように新しいテキストブロックが追加された後、キャンバスの最後の要素にScrollviewerを設定したい。 XAML: - C#の背後wp7の特定の時点でScrollViewerのスクロールバーを設定する方法は?

<ScrollViewer x:Name="sv" HorizontalScrollBarVisibility="Auto" Margin="6,6,-835,66"> 
      <Canvas x:Name="canvas" Height="450" Width="12000" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto"> 
      </Canvas> 
     </ScrollViewer> 

コード: -

 private void OnDragDelta(object sender, DragDeltaGestureEventArgs e) 
    { 

     if (tb_conter > 24) 
      return; 

     TextBlock[] tb = new TextBlock[elemet]; 
     for (int i = 0; i < elemet; i++) 
      tb[i] = new TextBlock(); 


     currentPoint = e.GetPosition(this.ContentPanel); 

     double x = currentPoint.X - oldPoint.X; 

     if (x >= 100) 
     { 

      tb[tb_conter].SetValue(Canvas.LeftProperty, tb_canvasLeft); 
      tb[tb_conter].SetValue(Canvas.TopProperty, tb_canvasTop); 

      tb[tb_conter].Text = time_scale.ToString(); 
      canvas.Children.Add(tb[tb_conter]); 

      time_scale++; 
      tb_conter++; 
      tb_canvasLeft += tb_canvasTop; 

     } 
     else 
      Debug.WriteLine(x.ToString()); 
    } 

答えて

0

あなたはScrollViewer.ScrollToVerticalOffset方法をしたいです。

さらに、ビューモデルのObservableCollection<string>に項目を追加し、それをページのListBoxにバインドする方がよいでしょう。

関連する問題