【发布时间】:2016-03-22 16:37:57
【问题描述】:
我正在尝试获取文本块角落的渲染位置。我似乎不知道该怎么做。文本块由边框绑定,而边框又由网格绑定。因此,文本块和边框没有我可以相对于窗口的其余部分拉取的尺寸。我尝试了以下代码,但只有一部分有效。边距为 0,ActualWidth 为 13.2。到达这一行时,窗口和文本块已被渲染。
double rightBound = textBlock.Margin.Left + textBlock.ActualWidth;
更新: 我有以下代码,主要是我想要的。但是,这些点不能很好地与 UI 元素对齐;它们似乎被任意放置在元素附近。这些点不与块的边界对齐。
Point blockPoint = textBlock.TranslatePoint(new Point(0, 0), myMainWindow);
【问题讨论】:
-
那条线在哪个方法中?此时窗口实际绘制了吗?
-
窗口和文本块已经被渲染了。
-
您可以使用TranslatePoint 方法获取相对于任何其他元素的位置。
-
能否请您说明如何使用 TranslatePoint?文档不清楚,我的代码似乎找不到参考。
-
如果您提供更多关于如何绘制该点以及预期结果的详细信息(屏幕截图?),您的问题将得到更快解决。