Справка по макету элементов управления в WPF - PullRequest
2 голосов
/ 06 февраля 2011

У меня проблема с макетом

<ListBox Name="Tweets" Grid.Row="1" ItemsSource="{Binding Path=Tweets}" Background="#1F0000FE">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <local:TweetTemplate Margin="10"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

Вот мой шаблон:

<Grid Name="grid">
    <Grid.RowDefinitions>
        <RowDefinition Height="25*" />
        <RowDefinition Height="95*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="110" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Image Source="{Binding Path=FromImage}" Grid.RowSpan="2" Margin="7" />
    <TextBlock Text="{Binding Path=From}" Margin="5" Grid.Column="1" />
    <TextBlock Text="{Binding Path=Text}" TextWrapping="WrapWithOverflow" Grid.Row="1" Margin="7" Grid.Column="1" />
</Grid>

Моя проблема в том, что этот <TextBlock Text="{Binding Path=Text}" текст очень длинный, растягивает сеткуА потом растягивает Родительский контроль.Я хочу, чтобы текст не растягивал Listbox, и когда он достигает конца ширины ListBox, переключается на новую строку.И когда размер окна изменяется, размер ListBox должен быть увеличен.Это значит использовать все окна.

Ответы [ 2 ]

3 голосов
/ 07 февраля 2011

ListBox создает ScrollViewer для отображения элементов, поэтому вы должны вручную отключить его с помощью свойства ScrollViewer.HorizontScrollBarVisibility:

    <ListBox Name="Tweets" 
             Grid.Row="1" 
             ItemsSource="{Binding Path=Tweets}" 
             Background="#1F0000FE"
             ScrollViewer.HorizontalScrollBarVisibility="Disabled">
        ...
    </ListBox> 
1 голос
/ 06 февраля 2011

Вы должны иметь возможность установить MaxWidth для текстового блока и установить TextWrapping="Wrap". Это должно предоставить вам желаемые результаты. В вашем списке также можно указать HorizontalContentAlignment="Stretch", чтобы ваши шаблонные элементы простирались до внутренних границ элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...