2010-01-15 1 views
15

У меня есть StatusBar, что я хотел бы разместить TextBlock, прикрепленный слева, и ProgressBar, заполняющий оставшуюся ширину. Во всех моих других опытах с WPF ProgressBar он заполнит данный контейнер, однако в этой ситуации он не авто-размер вообще, он просто выглядит как крошечный круг. Установка его высоты и ширины вручную работает нормально, но я хотел бы, чтобы она масштабировалась до оставшейся ширины StatusBar.Получите ProgressBar, чтобы заполнить StatusBarItem

Вот мой 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> 

ответ

28

Вам просто нужно один дополнительный атрибут: 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> 
+1

Красивая, спасибо! –