2010-04-18 56 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

相关问题