添加到界面前获取尺寸

You have few options you can do this, forcing to call Window.Measure and Window.Arrange will make all values to be calculated, or you can get those values in the Window.Loaded event. This same issue is discussed already on this question.

If you are sizing to content:

window.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
window.Arrange(new Rect(0, 0, window.DesiredWidth, window.DesiredHeight));

If you are using an explicit window size:

window.Measure(new Size(Width, Height));
window.Arrange(new Rect(0, 0, window.DesiredWidth, window.DesiredHeight));

or

public MyWindow()
{
    Loaded += delegate
    {
        // access ActualWidth and ActualHeight here
    };

}

Just had the same issue and just calling textblock.Measure(new Size()); aint enough. I had to usetextblock.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); to get a result for textblock.DesiredSize

The key is to realize that setting it in code like this:

sp2.Margin = new System.Windows.Thickness{ Left = 5 };

is equivalent to:

sp2.Margin = new System.Windows.Thickness{ Left = 5, Top = 0, Right = 0, Bottom = 0 };
 
时间: 2024-12-06 13:55:42

添加到界面前获取尺寸的相关文章

在渲染前获取 View 的宽高

在渲染前获取 View 的宽高 这是一个比较有意义的问题,或者说有难度的问题,问题的背景为:有时候我们需要在view渲染前去获取其宽高,典型的情形是,我们想在onCreate.onStart.onResume中去获取view的宽高.如果大家尝试过,会发现,这个时候view还没有measure好,宽高都为0,那到底该怎么做才能正确获取其宽高呢,下面给出三种方法(还有其他方法, 比如监听器回调等): Activity/View#onWindowFocusChanged :这个方法表明,view已经初

实验4-2:掌握Android应用调试方法、添加新界面

第五章.添加新界面 代码清单5-1 添加字符串资源(strings.xml) 代码清单5-2 第二个activity的布局组件定义(activity_cheat.xml) 代码清单5-3 覆盖onCreate(...)方法(CheatActivity.java) 代码清单5-4 在manifest配置文件中声明CheatActivity(AndroidManifest.xml) 代码清单5-5 默认布局中添加cheat按钮(layout/activity_quiz.xml) 代码清单5-6 水平

常用的一些获取尺寸的方法

今天,我们来说一个比较小的点,但也是比较常用的知识点,就是获取尺寸的方法. 首先,我们先来说一下获取可视区的宽度,但前提你要知道什么是可视区,就是我们现在双眼所看的这个界面,当然不包括滚动条拉下去之后的啦, 接下来我们说一下方法: //获取可视区的宽度 document.documentElement.clientWidth; //获取可视区的高度 document.documentElement.clientHeight; 那如果你还不理解的话,我们来个比较官方的说法:clientWidth和

实验4:掌握Android应用调试方法、添加新界面

第四章代码清单: Android应用调试方法 第五章代码清单: 添加新界面

添加资源图片,获取图片实例并绘制到窗体

项目右键属性——资源——添加资源展开——添加现有文件 paint方法中: private void Form1_Paint(object sender, PaintEventArgs e) { using (Graphics g = e.Graphics) { g.DrawImage((Image)zhbImgConvert.Properties.Resources.ResourceManager.GetObject("_001"), 10, 70); } } 添加资源图片,获取图片实

移动端界面设计之尺寸篇

移动端界面设计之尺寸篇 作者其它设计文章:PS图层样式之高级混合(1)PS图层样式之高级混合(2)手机音乐界面设计分析AE动画设计基础篇移动端界面设计之尺寸篇 作者在写这篇文章时候还没有出iphone6,所以把这一部分的给补上,相关的尺寸请点下面2篇文章查看. 移动端界面设计之尺寸篇(淘宝版) iPhone6 & 6 Plus 视觉设计适配说明 h5移动端页面设计学习文档

Windows 8/8.1 进入欢迎&登录界面前黑屏且等待时间过长&登录假死解决方法

笔记本和公司的电脑同时出现这问题,和休眠无关 公司就算了,HDD也没在意,笔记本SSD也黑屏等待一阵就匪夷所思了,于是找到解决方法 一.黑屏 问题:进入欢迎&登录界面前黑屏等待时间过长,会黑屏一阵,大概30秒到1分钟 解决:运行 services.msc 打开服务,找到 Windows Font Cache Service 服务,设置为自动 然后那个黑屏问题就解决了 二.登录假死 这种情况一般出现在设置密码后,首先把密码删掉,重启再设置一次后就解决

C#.NET为List添加扩展方法:获取唯一值

public static class ListTools { /// <summary> /// 获取唯一值列表 /// </summary> /// <param name="strList">原始值</param> /// <returns>唯一值</returns> public static List<T> GetUniqueValue<T>(this List<T>

界面信息获取库的封装,记有爱UI助手的诞生

距离上次写文章已经过去了10个月,这次把我最近做的一个东西的一些心得写下来吧. 上一篇文章写了MSAA技术对于QQ界面信息获取的相关知识,近一段时间我把这个技术包括一些其他的功能做了一个封装并准备公开出来让更多的人来使用. 发一张测试界面探测功能时的截图(为了防止盗图我加了水印,如果违规请通知我,我会立即更改) 目前这个小项目还在开发中,已经集成了很多常用的界面信息获取和窗口模拟操作的功能.有兴趣的朋友可以关注一下我新建的微博[email protected]