如何在路径中添加TextBlock?

时间:2010-01-12 16:39:51

标签: c# silverlight

我有一个Silverlight应用程序,它为UserControl的LayoutRoot网格添加了一个Path。路径几何是一个简单的矩形。

我希望能够添加一个包含在添加到LayoutRoot网格的Path中的TextBlock。

我也在使用自定义Adorner,允许我调整屏幕上的路径并移动它。

基本上,我希望TextBlock的父级是路径,因此每当我移动Path时,TextBlock随之移动,而且TextBlock中的文本也永远不会超出Path的边界。 / p>

以下是我目前所拥有的一个例子:

var shape = new ShapeClass((o, u) => { LayoutRoot.Children.Add(o); LayoutRoot.Children.Add(u); }); 

这是Shape类的构造函数:

public ShapeClass(Action<Path, TextBlock> insert){}

其中'o'是Path对象,'u'是TextBlock ...

有没有人对如何实现这一点有任何想法?

感谢。

2 个答案:

答案 0 :(得分:5)

将路径和文本框放入网格或画布中,然后移动它。这样两个控件将保持相对于彼此的相同位置。

答案 1 :(得分:3)

路径不是内容控件,因此您无法在其中放置TextBox。

如果您使用的是简单的矩形,那么为什么不使用Border控件?