Bry*_*hen 3 c# xaml microsoft-metro windows-8
如何找出Canvas在xaml文件中创建的大小?
例如,我创建一个Canvas by
<Page
x:Class="MyApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Canvas x:Name="canvas" Background="White">
</Canvas>
</Page>
Run Code Online (Sandbox Code Playgroud)
全屏是白色或我为该画布指定的任何颜色
我在课堂上试过但没有运气
double h = canvas.Height; // NaN
h = canvas.ActualHeight; // 0
Run Code Online (Sandbox Code Playgroud)
那么如何找出该画布的实际尺寸?或者大小是0而不是如何使画布全屏尺寸?
我是新的C#和都市开发人员,因此比起iOS的所有功能都很困惑.
在代码中你在哪里检查画布的大小?我假设您在页面构造函数中或在UI布局运行之前运行的其他位置执行此操作.在这种情况下,所有自动调整大小的元素(NaN高度或宽度)仍然具有其默认大小.如果在布局完成后检查大小,就像页面中的Loaded事件处理程序一样,那么您应该看到真实的渲染大小.