Получить ProgressBar для заполнения StatusBarItem
У меня есть 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
Вам нужен только один дополнительный атрибут: 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>