Canvas is the most accurate layout container--absolute positioning, the book authors do not recommend that the size of the control will generally change as the internal font image dynamically generated, so use the first three layouts is the best choice, in this regard, I also share the same opinion.
Canvas uses the Top/bottom property to control the height of the distance from the top/bottom, and the Left/right property to control the distance from the left/right. Interestingly, the size of the form is adjusted, the position of the second TextBlock varies, but the distance from the bottom and the right is constant, as shown in the code:
<Canvas Background="Yellow">
<TextBlock Canvas.Left="10" Canvas.Top="20">Hello</TextBlock>
<TextBlock Canvas.Right="10" Canvas.Bottom="20">world!</TextBlock>
</Canvas>
In addition, canvas does not automatically reduce content beyond its own scope, that is, the extra content appears outside the canvas because the default cliptobounds= is "False", and if you set cliptobounds= "True", you will crop more than the content.
Finally, using Viewbox together enables automatic layout controls to resize (see the next section).