如何将拇指附加到TextBlock

本文关键字:TextBlock | 更新日期: 2023-09-27 18:02:44

我有以下XAML:

<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;
}

上面显示了一个矩形,可以在画布上拖动。

我的问题:我如何将这个ThumbTextBlock关联,使Thumb覆盖TextBlock (Thumb是透明的),我可以拖动TextBlock ?(PS:相信我,到目前为止我所尝试的并不值得在这里展示。)

我的最终目标是能够拖动TextBlocks,所以我对其他方法持开放态度。但是,我想在Canvas上操作。

我在win7上使用VS2010,带有。net 4.0。

如何将拇指附加到TextBlock

你读过在画布中拖动元素吗?
或者这个简单的方法(我从未见过直到现在-谷歌)如何使用WPF

中的行为使任何UI元素可拖动