【问题标题】:Stack Status Bar to button application while resize调整大小时将状态栏堆叠到按钮应用程序
【发布时间】:2017-07-03 15:12:51
【问题描述】:

所以我有WPF 申请:

<Grid Name="mainGrid">
    <Grid.RowDefinitions>
        <RowDefinition Height="270" />
        <RowDefinition Height="200" />
        <RowDefinition Height="260" />
        <RowDefinition Height="30" />
    </Grid.RowDefinitions>
</Grid>

在最后一个Row 我有StatusBar

<Grid Name="gridStatusBar" Grid.Row="3" Margin="0,0,0,0">
  <StatusBar>
      <StatusBarItem HorizontalAlignment="Left">
           <Label
                FontSize="13"
                FontFamily="Comic Sans MS"
                Foreground="Gainsboro"
                Margin="0,-3,0,0"/>
      </StatusBarItem>
  </StatusBar>
</Grid>

所以如果调整我的应用程序大小我看不到我的StatusBar,我尝试添加VerticalAlignment="Bottom"VerticalAlignment="Top" 但这仍然 没有帮助。

【问题讨论】:

    标签: wpf resize statusbar


    【解决方案1】:

    您的Grid 实际上具有固定高度 270 + 200 + 260 + 30 = 760。

    如果您希望它能够动态收缩和增长,您应该使用相对(星 *)尺寸:

    <Grid.RowDefinitions>
        <RowDefinition Height="270*" />
        <RowDefinition Height="200*" />
        <RowDefinition Height="260*" />
        <RowDefinition Height="30" /> <!-- only this height is actually fixed -->
    </Grid.RowDefinitions>
    

    另一种选择是使用另一种Panel,例如DockPanel,并始终将StatusBar 停靠在底部:

    <DockPanel>
        <Grid Name="gridStatusBar" Height="30" DockPanel.Dock="Bottom" Margin="0,0,0,0">
            <StatusBar>
                <StatusBarItem HorizontalAlignment="Left">
                    <Label
                    FontSize="13"
                    FontFamily="Comic Sans MS"
                    Foreground="Gainsboro"
                    Margin="0,-3,0,0"/>
                </StatusBarItem>
            </StatusBar>
        </Grid>
        <Grid Name="mainGrid">
            <Grid.RowDefinitions>
                <RowDefinition Height="270" />
                <RowDefinition Height="200" />
                <RowDefinition Height="260" />
            </Grid.RowDefinitions>
        </Grid>
    </DockPanel>
    

    【讨论】:

    • 在您的示例中,DockPanel 也应该包围主网格?
    • 不,它不应该假设您总是希望状态栏位于底部。
    • 自己试试吧。
    猜你喜欢
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 2013-11-24
    • 2018-12-14
    • 1970-01-01
    相关资源
    最近更新 更多