Элемент в WPF вытесняет другие элементы за границы экрана
Доброего времени суток. Настраиваю шаблон элемента ListBox (DataTemplate), хочу что-то вроде:

В статичном варианте все нормально, но когда содержимое 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, получилось так что ничего за рамки не вылезает, всем спасибо