WPF StatusBar 中的 ProgressBar 不会拉伸

问题描述 投票:0回答:5
c# wpf progress-bar statusbar
5个回答
9
投票

这是由于

StatusBar
默认使用
DockPanel
来布局其子项。请查看我的问题和答案这里


7
投票

您将需要使用网格。 DockPanel 或 StackPanel 不足以满足您的需求。 尝试:

    <Grid>
    <StatusBar Name="StatusBarMain" Height="30" HorizontalAlignment="Stretch">
    <StatusBarItem HorizontalContentAlignment="Left">
        <TextBlock x:Name="TextBlockStatus" Margin="5,0,0,0" />
    </StatusBarItem>
    <StatusBarItem HorizontalContentAlignment="Stretch">
        <ProgressBar x:Name="ProgressBarMain" IsIndeterminate="True" Height="15" />
    </StatusBarItem>
    <StatusBarItem HorizontalContentAlignment="Right">
        <TextBlock x:Name="TextBlockInfo" Margin="5,0,0,0" TextAlignment="Right" />
    </StatusBarItem>
   </StatusBar>
    </Grid>

0
投票

这对我有帮助,但我需要添加网格行和列定义才能使其正常工作。

<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="Auto" ToolTip="abc213">
          <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"></ColumnDefinition>

0
投票

我为

<StatusBarItem>
设置了 HorizontalContentAlignment="Stretch",它有帮助:

<StatusBar DockPanel.Dock="Bottom">
        <StatusBarItem DockPanel.Dock="Right" HorizontalContentAlignment="Stretch">
            <ProgressBar IsIndeterminate="True" VerticalAlignment="Bottom" Height="5" Visibility="Visible" Name="CProgressBar" />
        </StatusBarItem>
    </StatusBar>

-2
投票

这会将进度条拉伸到其容器

<StatusBarItem  Name="progressBarContainer">
    <ProgressBar Height="{Binding ElementName=progressBarContainer, Path=ActualHeight}" Width="{Binding ElementName=progressBarContainer, Path=ActualWidth}" Value="50" />
</StatusBarItem>
© www.soinside.com 2019 - 2024. All rights reserved.