Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find size of a Canvas

How to find out size of an Canvas that created in xaml file?

for example I create an 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>

and full screen is white or whatever color I specified for that canvas

than in my class I tried but with no luck

double h = canvas.Height; // NaN
h = canvas.ActualHeight;  // 0

so how do I found out the actual size of that canvas? or the size is 0 but than how to make the canvas full screen size?

I am new C# and metro developer and so confused how everything works compare to iOS.

like image 291
Bryan Chen Avatar asked Dec 28 '25 16:12

Bryan Chen


1 Answers

Where in your code are you checking the size of the Canvas? I'm assuming you're doing it in the page constructor or somewhere else that is running before the UI layout has run. In this case, all auto sized elements (NaN height or width) still have their default size. If you check the size after layout has completed, like in a Loaded event handler in your page, then you should see the true rendered size.

like image 200
John Bowen Avatar answered Dec 30 '25 06:12

John Bowen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!