WPF如何获取控件大小

CyberKnightGIC 2008-12-01 11:35:46
比如<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<ScrollViewer>
<StackPanel>
<Canvas Background="AliceBlue" />
</StackPanel>
</ScrollViewer>
</Window>

如何获取Canvas的大小,这只是简单例子,我是说如果在父控件和子控件都是用比如StackPanel进行的布局该如何找到他们的大小,Code用Height,Width,ActualHeight, ActualWidth 这样的属性得到的是NaN和0.0,没有办法获取。
...全文
869 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CyberKnightGIC 2008-12-02
  • 打赏
  • 举报
回复
ScrollViewer的ExtentHeight或者ViewportHeight的值试试?


能不能说的详细点?

假设我要做个程序里面有一个图形显示区,随着屏幕分辨率不同它大小也要相应变化,但是它是由StackPanel确定大小的,不是写死的,我在它外面加上一个ScrollViewer,怎么让ScrollViewer知道显示区的大小超过了,该有滚动条了,除了写死大小以外?


insuya 2008-12-01
  • 打赏
  • 举报
回复
要是不显示的设置width 和 Height 是不能直接获得大小的

不过可以试着通过别的方式获得,比如ScrollViewer的ExtentHeight或者ViewportHeight的值试试
chinaicm 2008-12-01
  • 打赏
  • 举报
回复
这种好象是无法在Code里获得Width的属性.
你需要在你想获得Width的元素上显示设置才可以.
<ScrollViewer>
<StackPanel>
<Canvas Background="AliceBlue" Width="300" />
</StackPanel>
</ScrollViewer>

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧