繁体   English   中英

WPF进度栏将无法正确对齐

[英]WPF Progressbar won't left align properly

我有以下XAML代码在我的窗口中显示一组控件:

<Grid Height="80">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <Image Grid.Column="0" Grid.Row="0" Grid.RowSpan="3" Width="80" />

    <TextBlock Grid.Column="1" Grid.Row="0" Margin="5" FontWeight="Bold" Text="{Binding Titel}"
               Foreground="#B0B0B0" VerticalAlignment="Top" />
    <TextBlock Grid.Column="1" Grid.Row="1" Margin="5,0" Text="{Binding Description}" Foreground="#c9c9c9"
               VerticalAlignment="Top" />
    <ProgressBar Grid.Column="1" Grid.Row="2" Value="50" Margin="5" Height="15" MaxWidth="200" />

</Grid>

它基本上是一个图像在左边,两个TextBlocks和一个ProgressBar在右边。

我的问题是,当我的窗口变宽时,最后的ProgressBar会无限扩展。 我希望进度条在某个时候停止增长。 因此,如果用户拉伸窗口,它将在给定的MaxWidth处停止。 所以我尝试了这个:

<ProgressBar Grid.Row="2" Value="50" Margin="5" Height="15" MaxWidth="200"/>

但这会将ProgressBar居中放置在窗口中间,如果它的延伸超过MaxWidth,则在左侧的Image和ProgressBar之间产生空间。 我希望进度条保持在左侧,但是HorizontalAlignment="Left"会将ProgressBar最小化到几个像素:

<ProgressBar Grid.Row="2" Value="50" Margin="5" Height="15" MaxWidth="200" HorizontalAlignment="Left"/>

有谁知道如何进行这项工作?

您可以尝试绑定到另一个元素的宽度:

<TextBlock x:Name="title" Grid.Column="1" Grid.Row="0" Margin="5" FontWeight="Bold" Text="{Binding Titel}" Foreground="#B0B0B0" VerticalAlignment="Top" />

<ProgressBar Grid.Column="1" Grid.Row="2" Value="50" Margin="5" Height="15" Width="{Binding Path=ActualWidth, ElementName=title}" MaxWidth="200" HorizontalAlignment="Left"/>

您还可以将ProgressBar包装在具有以下定义的两列的Grid中:

<Grid Grid.Column="1" Grid.Row="2">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" MaxWidth="200"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <ProgressBar Grid.Column="0" Value="50" Margin="5" Height="15"/>
</Grid>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM