#483 – InkCanvas MinHeight and MinWidth

If you don’t give an InkCanvas an explicit Height or Width, but leave both to default to Auto, the InkCanvas automatically sets its MinHeight property to 250 and its MinWidth to 350.  This is done using a trigger, created in the constructor of the InkCanvas.

This can be confusing, since the same is not true for the Canvas control, whose MinHeight and MinWidth properties are initially set to 0.0.

Below, we include an InkCanvas control in a window and attach a button at each corner, so that we can better see its boundaries.  The InkCanvas sizes to fit its container (the Window), but you can see that a minimum height and width has been set.

        <Button Content="Bottom Left" InkCanvas.Bottom="5" InkCanvas.Left="5"/>
        <Button Content="Bottom Right" InkCanvas.Bottom="5" InkCanvas.Right="5"/>
        <Button Content="Top Right" InkCanvas.Top="5" InkCanvas.Right="5"/>
        <Button Content="Top Left" InkCanvas.Top="5" InkCanvas.Left="5"/>

To allow the InkCanvas to size freely, set MinHeight and MinWidth to 0.0.


About Sean
Software developer in the Twin Cities area, passionate about software development and sailing.

3 Responses to #483 – InkCanvas MinHeight and MinWidth

  1. Pingback: Dew Drop – January 30, 2012 (#1,254) | Alvin Ashcraft's Morning Dew

  2. skst says:

    “[T]he InkCanvas automatically sets its MinHeight property to 350 and its MinWidth to 250.”
    I believe these values are backwards. My InkCanvas in WPF 4.5 has a minimum height of 250.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: