有关C# WPF里窗口尺寸的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关C# WPF里窗口尺寸的问题相关的知识,希望对你有一定的参考价值。
正常情况下,窗口的this.Width和this.Height就是宽高,窗口最大化或者最小化的时候,取到的this.Width和this.Height是点还原情况下的宽高,也就是说不是最大化或者最小化的宽高。
比如我一开始设了this.Width=800,this.Height=600,
窗口起来的时候不是最大化的,之后手动点了最大化,
关闭的时候去取得的this.Width和this.Height还是800和600。
但是如果窗口一起来的时候就是最大化的,虽然这时候点还原可以回到800*600。
但是如果什么也不做就去关闭,这时候取道的this.Width和this.Height就是最大化的那个尺寸。
有没有什么明确的方法分别取得一个窗口最大化,最小化,和还原时候的尺寸?
感谢你的回答,接下来的追问回答不回答我都会把这个选为满意回答。
不过我更想知道的是,如果我已经在最大化和最小化的情况下了。怎样获得点“还原”的尺寸。
一般情况下都会认为是this.Width和this.Height对吧?
但是上面的例子也说了,如果我创建出这个window的时候就同时设了this.Width=800,this.Height=600并且也设了最大化。这时候无论我是取Width还是ActualWidth,得到的都是最大化的窗口大小,而不是800。
c#怎样动态判断wpf窗口某一区域是不是有控件存在
参考技术A 我是这么理解的。首先在wpf里,用来区分区域的应该是各种“容器”控件,如canvas,Grid。。。然后在这些容器里面再放置控件。后台进行判断的话,就只要判断Canvas.child是不是为null或者grid的children的数量是否为0.本回答被提问者采纳 参考技术B VisualTreeHelper.HitTest 方法 //通过指定 Point 返回命中测试的最顶层 Visual 对象。Point pt = e.GetPosition((UIElement)sender);
HitTestResult result = VisualTreeHelper.HitTest(myCanvas, pt);
if (result != null)
// Perform action on hit visual object.
参考技术C foreach遍历controls
以上是关于有关C# WPF里窗口尺寸的问题的主要内容,如果未能解决你的问题,请参考以下文章