Получить ProgressBar для заполнения StatusBarItem - PullRequest
16 голосов
/ 15 января 2010

У меня есть 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>

1 Ответ

30 голосов
/ 15 января 2010

Вам нужен только один дополнительный атрибут: 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...