我跟随 Head First C#一书并遇到了一些问题。它指示形成具有背景颜色的画布。我将画布宽度和高度设置为auto,显示为0.但是当我这样做时,背景颜色不会显示:
<Canvas x:Name="playArea" HorizontalAlignment="Center" Margin="0" Grid.Row="1" VerticalAlignment="Center" Grid.ColumnSpan="3" Background="White"/>
当我将宽度和高度设置为任意数字时,颜色显示(以可观的大小)。为什么我在自动设置中看不到背景颜色?
答案 0 :(得分:0)
当您设置HorizontalAlignment =“Center”时,您的Canvas将尝试占用尽可能少的水平空间(ActualWidth),并将自身置于其容器的中间。
在你的情况下,ActualWidth将是ZERO,因为Canvas里面没有任何东西需要更多。
因此,您描述的问题的原因是Canvas的实际宽度为ZERO。