Csharp/C#教程:如何获取StackPanel中元素的位置?分享


如何获取StackPanel中元素的位置?

假设我有一个动态填充副本的StackPanel,更改其中元素的Y位置。 我在StackPanel中有一个特定元素,我希望在StackPanel重新定位所有子节点后找到(相对于StackPanel或其他方式)的Y位置。

StackPanel sp = new StackPanel(); sp.Children.Add(someTextBlock); sp.Children.Add(element1); sp.Children.Add(element2); ... someTextBlock.Text = "Lorem ipsum dolor..." // some text that pushes children of > index down // element1 got pushed down to some unknown position based on text length // now want to find the Y position of element1 

我注意到这样的方法: http : //forums.silverlight.net/forums/p/16787/55881.aspx#55881不起作用,因为返回的位置是StackPanel的位置,而不是我的子元素定位。

您发布的链接中的方法应该可以正常工作,前提是您正确调用它们。

您需要使用正确的UIElement调用它们 – 在这种情况下,使用element1到RootVisual将为您提供element1的完整位置:

上述就是C#学习教程:如何获取StackPanel中元素的位置?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var transform = element1.TransformToVisual(Application.Current.RootVisual as FrameworkElement); Point absolutePosition = transform.Transform(new Point(0, 0)); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1030396.html

(0)
上一篇 2022年1月13日
下一篇 2022年1月13日

精彩推荐