我在网格中几乎没有可以拖动的文本块。我想限制用户,以便用户不能将文本块拖动到网格之外。
我已经尝试了几种方法,例如获取网格的位置,以便我可以控制,但是它没有按预期工作。 提前致谢。
答案 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>