我有一个列表框,可根据窗口大小更改大小。对于列表框中的每个项目,它包含(通过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>
进度条应该扩展到列表框的大小,除非文本块中的文本比列表框长,否则它们会执行。在这种情况下,文本块和进度条变得比列表框宽,并且列表框底部会出现水平滚动条。
我希望进度条和文本块与列表框允许的一样宽,如果文本块中的文本比列表框长,则会将文本块中的文本剪切掉。
此时,进度条宽度由其容器控制在一种情况下,其内容在另一种情况下控制。我希望它始终是其容器的控制器。
谢谢!
答案 0 :(得分: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>
我希望这会有所帮助,不要忘记相应地设置Grid的第二列的maxWidth。
答案 1 :(得分:0)
尝试将下一个属性添加到列表框
HorizontalContentAlignment="Stretch"