获取ProgressBar以填充StatusBarItem

Mel*_*een 16 wpf xaml statusbar progress-bar

我有一个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>
Run Code Online (Sandbox Code Playgroud)

ito*_*son 30

你只需要一个额外的属性: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>
Run Code Online (Sandbox Code Playgroud)