Элемент в WPF вытесняет другие элементы за границы экрана

Доброего времени суток. Настраиваю шаблон элемента ListBox (DataTemplate), хочу что-то вроде:
финальный_вариант


В статичном варианте все нормально, но когда содержимое TextBlock слишком большое то оно отодвигает все остальное за экран:
статичный_вариант

переполненный_TextBlock


Как мне лучше выполнить поставленную задачу?
введите сюда описание изображения

<Grid Background="#F5F5F5F5">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="4*"/>
        <ColumnDefinition Width="12*"/>
        <ColumnDefinition Width="3*"/>
    </Grid.ColumnDefinitions>

    <Border Margin="8" Background="#FFF7F7F7" BorderBrush="Black" BorderThickness="1,1,1,1" Grid.Column="0">
        <TextBlock Text="НЕТ ФОТО" VerticalAlignment="Center" HorizontalAlignment="Center"/>
    </Border>

    <Grid Grid.Column="1" Margin="5">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0" Text="Название qwe qwe qwe qwe qwe qwe qwe" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1" TextTrimming="CharacterEllipsis"/>
        <TextBlock Grid.Row="1" Text="Цена" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1"/>
        <TextBlock Grid.Row="2" Text="Категория" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1"/>
        <TextBlock Grid.Row="3" Text="Производитель" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1"/>
    </Grid>
    <Button Content="Кнопка 'КУПИТЬ'" Margin="5" Background="Wheat" FontSize="16" Padding="10,1" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>

Ответы (1 шт):

Автор решения: Shad0wSeeker

В комментариях EvgeniyZ подсказал что можно использовать ViewBox, за что отдельное ему благодарность, я полез искать информацию о этом элементе и нашел вот в этом заданном вопросе на SO - ссылка, в нем говорилось о <Viewbox Stretch="Uniform">

<Viewbox Stretch="Uniform">
    <Grid Background="#F5F5F5F5">
        <Grid.ColumnDefinitions>
            <ColumnDefinition MinWidth="150" Width="1*"/>
            <ColumnDefinition MinWidth="470" Width="*"/>
            <ColumnDefinition MinWidth="150" Width="1*"/>
        </Grid.ColumnDefinitions>

        <Border Margin="8" Background="#FFF7F7F7" BorderBrush="Black" BorderThickness="1,1,1,1" Grid.Column="0">
            <TextBlock Text="НЕТ ФОТО" VerticalAlignment="Center" HorizontalAlignment="Center"/>
        </Border>

        <Grid Grid.Column="1" Margin="5" MaxWidth="465">
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <TextBlock Grid.Row="0" Text="Название qwe qwe qwe qwe qwe qwe qwe qwe qwe qwe" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1" TextTrimming="CharacterEllipsis"/>
            <TextBlock Grid.Row="1" Text="Цена" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1" TextTrimming="CharacterEllipsis"/>
            <Grid>
                
            </Grid>
            <TextBlock Grid.Row="2" Text="Категория" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1" TextTrimming="CharacterEllipsis"/>
            <TextBlock Grid.Row="3" Text="Производитель" Margin="5" Background="AliceBlue" FontSize="16" Padding="10,1" TextTrimming="CharacterEllipsis"/>
        </Grid>
        <Button Content="Кнопка 'КУПИТЬ'" Margin="5" Background="Wheat" FontSize="16" Padding="10,1" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Grid>
</Viewbox>

Я просто обернул всю конструкцию в ViewBox, получилось так что ничего за рамки не вылезает, всем спасибо

→ Ссылка