Repeating my decision from the comments, because (a) you really do not want the Canvas and (b) it sounds like it solved your problems, so I will make it an answer where it will be more noticeable to others.
Canvas is for fixed-pixel layouts, which is probably the least common case. You should replace the Canvas with a Grid , as shown below, so that both Label dynamically (and independently) laid out within the available space:
<Grid> <Label Padding="0" FontSize="10">Esc</Label> <Label VerticalAlignment="Center" HorizontalAlignment="Center">Cancel</Label> </Grid>
source share