2010-01-15 10 views
15

Tengo un StatusBar que me gustaría alojar un TextBlock acoplado a la izquierda y un ProgressBar llenando el ancho restante. En todas mis otras experiencias con WPF ProgressBar, se llenará su contenedor dado, sin embargo, en esta situación, no tiene tamaño automático, simplemente aparece como un círculo pequeño. Configurar su altura y ancho manualmente funciona bien, pero me gustaría que se adapte al ancho restante del StatusBar.Obtener ProgressBar para rellenar StatusBarItem

Aquí es mi XAML para el 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> 

Respuesta

28

Sólo tiene un atributo adicional: HorizontalContentAlignment="Stretch" en el StatusBarItem. Por lo tanto:

<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

¡Hermoso, gracias! –