0

我有一个根据窗口大小改变大小的列表框。对于列表框中的每个项目,它包含(通过 DataTemplate):

<Grid Height="20" HorizontalAlignment="Stretch">
            <ProgressBar HorizontalAlignment="Stretch" Height="20" Value="{Binding Path=Progress, Mode=OneWay}" />
            <TextBlock Margin="7,0,0,0" Text="{Binding Path=OperationTitle}" />

        </Grid>

进度条应该扩展到列表框的大小,除非文本块中的文本比列表框长,否则它们会这样做。在这种情况下,文本块和进度条变得比列表框更宽,并且水平滚动条出现在列表框的底部。

我希望进度条和文本块与列表框允许的一样宽,并且如果文本块中的文本比列表框长,则将其截断。

目前,进度条的宽度在一种情况下由其容器控制,在另一种情况下由其内容控制。我希望它始终是其容器的控制器。

谢谢!

4

2 回答 2

0

嗨,如果我没有误解你的问题,试试这个

 <Grid Height="20" HorizontalAlignment="Stretch">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto" MaxWidth="100"/>
        </Grid.ColumnDefinitions>
        <ProgressBar HorizontalAlignment="Stretch" Height="20" Value="{Binding Path=Progress, Mode=OneWay}" Grid.Column="0" />
        <TextBlock Margin="7,0,0,0" Text="OperationTitle" Grid.Column="1" />
</Grid>

我希望这会有所帮助,并且不要忘记相应地设置网格第二列的 maxWidth。

于 2012-07-13T18:28:33.000 回答
0

尝试将下一个属性添加到列表框

HorizontalContentAlignment="Stretch"
于 2012-07-13T18:30:51.523 回答