2010-04-18 52 views
2

所以,我有以下DataTemplateListBox.ItemTemplate如何在DataTemplate中爲ItemTemplate自動調整爲ListBox寬度的網格?

<DataTemplate x:Key="Tweet"> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="50"/> 
         <ColumnDefinition Width="Auto"/> 
        </Grid.ColumnDefinitions> 
        <Image 
         Grid.Column="0" 
         Source="{Binding ProfileImageURL}" 
         Width="50" Height="50"/> 
        <Grid Grid.Column="1"> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="Auto"/> 
         </Grid.RowDefinitions> 
         <TextBlock 
          Grid.Row="0" 
          FontSize="15" 
          FontWeight="Bold" 
          Text="{Binding User}"/> 
         <TextBlock 
          Grid.Row="1" TextWrapping="Wrap" 
          Text="{Binding Status}"/> 
         <DockPanel 
          Grid.Row="2"> 
          <TextBlock 
           DockPanel.Dock="Left" 
           FontSize="10" TextWrapping="WrapWithOverflow" 
           Text="{Binding TimeAgo}" TextAlignment="Justify"/> 
          <TextBlock 
           DockPanel.Dock="Left" 
           FontSize="10" TextWrapping="Wrap" 
           Text="{Binding Source}"/> 
         </DockPanel> 
        </Grid> 
       </Grid> 
      </DataTemplate> 

的問題是,它不會自動大小列表框。文本被剪輯: TwitBy preview

如何解決它?

這裏的列表框XAML定義:

<ListBox 
      x:Name="tweetsListBox" 
      Margin="3,0" 
      Grid.Row="1" 
      Background="{x:Null}" Grid.IsSharedSizeScope="True" 
      ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
      ItemTemplate="{DynamicResource Tweet}"/> 

任何幫助,將不勝感激。

感謝

回答

0

試試這個:

<DataTemplate x:Key="Tweet"> 
     <Grid Width="{Binding ElementName=tweetsListBox, Path=ActualWidth>"> 
+0

是的!這工作!謝謝! – 2010-04-18 10:14:23

相關問題