2014-05-11 15 views
1

我有以下XAML:如何將Thumb附加到TextBlock?

<Window x:Class="thumb_test.MainWindow" Title="MainWindow" ... > 
    <Grid> 
     <Canvas> 
      <Thumb Canvas.Top="25" Canvas.Left="25" Width="50" Height="50" 
       Name="_thumb1" DragStarted="ThumbStart" DragDelta="ThumbMoved" > 
      </Thumb> 
     </Canvas> 
    </Grid> 
</Window> 

而下面是相應的後臺代碼:

void ThumbStart(object sender, DragStartedEventArgs e) 
{ 
    _originalLeft = Canvas.GetLeft(_thumb1); 
    _originalTop = Canvas.GetTop(_thumb1); 
} 
void ThumbMoved(object sender, DragDeltaEventArgs e) 
{ 
    double left = _originalLeft + e.HorizontalChange; 
    double top = _originalTop + e.VerticalChange; 
    Canvas.SetLeft(_thumb1, left); 
    Canvas.SetTop(_thumb1, top); 
    _originalLeft = left; 
    _originalTop = top; 
} 

上面顯示的矩形,其可圍繞在畫布上被拖動。

我的問題:我如何與一個關聯TextBlockThumb,使得Thumb覆蓋的TextBlock(與Thumb是透明的),我可以拖動TextBlock身邊? (PS:相信我,迄今爲止我嘗試過的東西不值得在這裏展示。)

我的最終目標是能夠將TextBlocks左右拖拽,所以我願意接受其他方法。不過,我想在Canvas上進行操作。

我在Win 7上使用VS2010,使用.NET 4.0。

回答