如何在网格中设置TextBlock的边界?

时间:2019-02-04 06:34:42

标签: c# uwp grid uwp-xaml textblock

我在网格中几乎没有可以拖动的文本块。我想限制用户,以便用户不能将文本块拖动到网格之外。

我已经尝试了几种方法,例如获取网格的位置,以便我可以控制,但是它没有按预期工作。 提前致谢。

1 个答案:

答案 0 :(得分:1)

使用Canvas内部的Grid,计算TextBlock内部的Canvas的坐标,然后连续检查{{ 1}}仍在其范围内。当TextBlock离开边界时,TextBlock然后恢复为最后一次已知的“良好”坐标。

XAML

Transform

隐藏代码

<Grid>
    <Grid Name="GridBounds" Width="600" Height="600" Background="Aqua">
        <Canvas>
            <TextBlock Name="TextBlock1" Text="Drag Me" FontSize="40" ManipulationDelta="TextBlock1_ManipulationDelta" ManipulationMode="TranslateX, TranslateY" HorizontalAlignment="Stretch" Canvas.Left="216" Canvas.Top="234" VerticalAlignment="Stretch"/>
        </Canvas>
    </Grid>
</Grid>

这里正在起作用。 Here it is in action