2012-07-13 55 views
0

我有一個根據窗口大小更改大小的列表框。對於在列表框中的每個項目,它包含了(通過DataTemplate中):停止調整容器大小的TextBlock WPF

<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

你嘗試的進度和文字塊的寬度結合列表框的寬度是多少? – 2012-07-13 19:20:07

回答

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。

0

嘗試下一個屬性添加到列表框中

HorizontalContentAlignment="Stretch"