WPF <StatusBar>не расположен в нижней части окна - PullRequest
7 голосов
/ 22 февраля 2010

У нас есть исполняемый файл WPF, который создает, а затем динамически загружает несколько сборок. Каждая сборка представляет собой экран (.xaml), который отображается на одной из вкладок. Проблема в том, что это прямо под, а не в нижней части окна. Как заставить всегда быть внизу окно? Thx!

UserControl    
    DockPanel
        CheckBox 
        StatusBar
    DockPanel
UserControl

Ответы [ 4 ]

14 голосов
/ 22 февраля 2010

В дополнение к ответу ArsenMkrt о включении атрибута DockPanel.Dock = "Bottom", не забывайте, что элемент LAST в DockPanel заполнит область, если вы явно не укажете это с помощью команды высоты (независимо от DockPanel Атрибут .Dock предоставлен).

я предлагаю сделать так:

<UserControl>
   <DockPanel>
     <StatusBar DockPanel.Dock="Bottom" />
     <CheckBox />
   </DockPanel>
</Usercontrol>
4 голосов
/ 15 июня 2013

У меня была такая же проблема только сейчас. Благодаря подсказке Стивена Райтона, что последний элемент , добавленный к DockPanel, заполняет оставшуюся область, я понял, как настроить Window. Это было немного странно, так как я добавил Grid последний, но он был расположен в середине.

<Window>
    <DockPanel>
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="_File">
            </MenuItem>
        </Menu>

        <StatusBar DockPanel.Dock="Bottom">
            <StatusBarItem Content="Filler" />
        </StatusBar>

        <Grid x:Name="rootGrid">

        </Grid>
    </DockPanel>
</Window>
1 голос
/ 22 февраля 2010

Вы пробовали?

<StatusBar DockPanel.Dock="Bottom" ... />
0 голосов
/ 31 июля 2018
<Grid>
<Grid.RowDefinitions>
    <RowDefinition Height="*"/>
    <RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<DockPanel Grid.Row="0"/>

<StackPanel Grid.Row="1">
    <StatusBar>Status Text</StatusBar>
</StackPanel>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...