WPF中获取动态添加控件的ActualHeight和相对坐标

来源:互联网 发布:百度指数 大数据 编辑:程序博客网 时间:2024/04/29 20:24

      在WPF中有时会用到获取控件的ActualHeight,从而进行相关运算,我是需要在一个UniformGrid中动态的添加Button,然后获取 Button的ActualHeight和相对于UniformGrid的坐标。测试项目代码如下(VS2010):
    XAML部分:

     C#部分:

       运行一下测试项目就会发现在UpdataLayout之前是得不到ActualHeight 的,但是可以得到相对坐标,而在UpdataLayout之后就可以得到ActualHeight和相对坐标。网上说WPF控件需要在Render之后才能得到ActualHeight,而UpdataLayout应该就有这个功能吧,初接触WPF,所以具体的原理还不太清楚。

      另外一个是在获取相对坐标的时,在for循环外的btnTest_Click事件中和在UniformGrid中的按钮单击事件中,使用TransformToAncestor,或TranslatePoint的方法才能得到,其实获取控件的相对坐标还有其他方法,在此不一一列出,需要的朋友可以Google一下。

附件下载(2010项目)

 

原创粉丝点击