Почему цвет фона моего StackPanel не растягивается до полной ширины? - PullRequest
3 голосов
/ 23 марта 2012

У меня есть StackPanel с кистью фона, и она содержит одну кнопку. Он содержится в сетке, которая шире кнопки.

К сожалению, фон имеет такую ​​же ширину, как кнопка. Я вижу это вокруг поля кнопки. В итоге у меня есть широкая полоса серого цвета по умолчанию рядом с моей кнопкой, вокруг которой находится рамка моего цвета фона.

<StackPanel Visibility="Visible" HorizontalAlignment="Right" Background="{StaticResource qtyBg}">
    <Button x:Name="bttnQtyEditKeys" Content="EDIT KEYPAD" Visibility="Visible" Click="bttnQtyEditKeys_Click"/>
</StackPanel>

Мне удалось это исправить, обернув Границу вокруг нее и установив кисть фона Границы.

Это хак, поэтому меня это раздражает. Есть ли альтернативный способ сделать фон StackPanel не глупым?

1 Ответ

4 голосов
/ 23 марта 2012

Проблема не в вашем прошлом, а в вашей StackPanel.Ваш фон в порядке, это ваша StackPanel, которая не заполняет доступное пространство.

Вам необходимо установить для HorizontalAlignment и VerticalAlignment значение Stretch на вашей StackPanel.

Это прекрасно работает для меня:

<Grid>
    <StackPanel Visibility="Visible" HorizontalAlignment="Stretch" Background="blue">
        <Button x:Name="bttnQtyEditKeys" HorizontalAlignment="Right" Content="EDIT KEYPAD" Visibility="Visible" Click="bttnQtyEditKeys_Click"/>
    </StackPanel>
</Grid>
...