16

我有一个StatusBar我想容纳一个TextBlock停靠在左侧并ProgressBar填充剩余宽度的东西。在我使用 WPF 的所有其他经验中ProgressBar,它会填充给定的容器,但是在这种情况下,它根本不会自动调整大小,它只是显示为一个小圆圈。手动设置它的高度和宽度可以正常工作,但我希望它缩放到StatusBar.

这是我的 XAML StatusBar

<StatusBar DockPanel.Dock="Bottom" Height="25">
    <StatusBarItem DockPanel.Dock="Left">
        <TextBlock x:Name="lblStatus"  Margin="5,0,0,0"/>
    </StatusBarItem>
    <StatusBarItem>
        <ProgressBar x:Name="pgbStatus" />
    </StatusBarItem>
</StatusBar>
4

1 回答 1

33

您只需要一个额外的属性:HorizontalContentAlignment="Stretch"在 StatusBarItem 上。因此:

<StatusBar DockPanel.Dock="Bottom" Height="25">
  <StatusBarItem DockPanel.Dock="Left">
    <TextBlock x:Name="lblStatus" Margin="5,0,0,0"/>
  </StatusBarItem>
  <StatusBarItem HorizontalContentAlignment="Stretch">  <!-- Note extra attribute -->
    <ProgressBar x:Name="pgbStatus" />
  </StatusBarItem>
</StatusBar>
于 2010-01-15T00:43:59.790 回答