C# 如何在DataTemplate中使ItemTemplate的网格自动调整为ListBox宽度?

C# 如何在DataTemplate中使ItemTemplate的网格自动调整为ListBox宽度?,c#,wpf,listbox,datatemplate,itemtemplate,C#,Wpf,Listbox,Datatemplate,Itemtemplate,因此,对于ListBox.ItemTemplate,我有以下DataTemplate: <DataTemplate x:Key="Tweet"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="50"/> <Co

因此,对于
ListBox.ItemTemplate
,我有以下
DataTemplate

<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 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}"/>

任何帮助都将不胜感激

谢谢

试试这个:

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

试试这个:

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