在WinForms中,Form有一个ClientSize属性(继承自Control),它返回其客户区的大小,即标题栏和窗口边框内的区域.
我在WPF中没有看到任何类似的东西:没有ClientSize,ClientWidth,ClientHeight,GetClientSize(),或者我可以想到的其他任何猜测名称的东西.
如何获取WPF窗口的客户端大小?
Cod*_*313 11
你可以做到的一种方法是取最顶层的子元素,转换this.Content为它的类型,并调用.RenderSize它,这将给你它的大小.
<Window x:Class="XML_Reader.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="400" Width="600" WindowStyle="SingleBorderWindow">
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
</Grid>
</Window>
((Grid)this.Content).RenderSize.Height
((Grid)this.Content).RenderSize.Width
Run Code Online (Sandbox Code Playgroud)
编辑:
作为特伦特说,ActualWidth和ActualHeight也是可行的解决方案.基本上更容易获得上面提到的方法.
小智 10
var h = ((Panel)Application.Current.MainWindow.Content).ActualHeight;
var w = ((Panel)Application.Current.MainWindow.Content).ActualWidth;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28355 次 |
| 最近记录: |