Как сделать сетку в DataTemplate для автоматического размера ItemTemplate до ширины ListBox? - PullRequest
2 голосов
/ 18 апреля 2010

Итак, у меня есть следующее DataTemplate для ListBox.ItemTemplate:

<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>

Проблема в том, что он не автоматически масштабируется в ListBox. Текст обрезается: Предварительный просмотр TwitBy

Как это исправить?

Вот определение списка 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}"/>

Любая помощь будет оценена.

Спасибо

1 Ответ

0 голосов
/ 18 апреля 2010

Попробуйте это:

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