WPF <StatusBar>未定位在窗口的底部

Bil*_*own 7 wpf

我们有一个WPF可执行文件,它可以创建一个然后动态加载多个程序集.每个程序集代表一个显示在其中一个选项卡中的屏幕(.xaml).问题是窗口正下方而不是窗口底部.如何强制始终位于窗口的底部?谢谢!

UserControl    
    DockPanel
        CheckBox 
        StatusBar
    DockPanel
UserControl
Run Code Online (Sandbox Code Playgroud)

Ste*_*ton 14

除了ArsenMkrt关于包含DockPanel.Dock ="Bottom"属性的答案之外,不要忘记DockPanel中的LAST元素将填充该区域,除非您使用height命令明确告知它(无论DockPanel.Dock属性如何)提供).

我的建议是这样做:

<UserControl>
   <DockPanel>
     <StatusBar DockPanel.Dock="Bottom" />
     <CheckBox />
   </DockPanel>
</Usercontrol>
Run Code Online (Sandbox Code Playgroud)

  • re:你对最后一个元素的评论,你也可以在DockPanel上设置LastChildFill属性 (2认同)

Pau*_*ole 6

我刚才遇到了同样的问题。感谢 Stephen Wrighton 的提示,即添加到 a的最后一个元素填充了剩余的区域,我想出了如何设置我的. 因为我添加了最后一个,所以有点奇怪,但它位于中间。DockPanelWindowGrid

<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>
Run Code Online (Sandbox Code Playgroud)


Ars*_*yan 1

你试过了吗?

<StatusBar DockPanel.Dock="Bottom" ... />
Run Code Online (Sandbox Code Playgroud)