У меня есть элемент scatterview, который имеет следующее содержимое в указанном порядке в вертикальном порядке.
TextBlock, который будет отображать 1-3 строки текста - TextBlock1
Изображение - размер будет варьироваться в зависимости от разрешения изображения, но я установлю минимальную высоту и ширину в свойстве.
TextBlock - будет отображаться 1-10 строк текста- TextBlock2
Кнопка переключения поверхности
Теперь пользователь может масштабировать этот элемент, поэтому я поместил его в окно просмотра.Код XAML приведен ниже:
<DockPanel LastChildFill="False">
<TextBlock Name="ItemTitle" DockPanel.Dock="Top" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Margin="10" TextWrapping="Wrap" Visibility="Visible" Padding="2" />
<s:SurfaceToggleButton DockPanel.Dock="Bottom" Checked="ItemInfo_Checked" Unchecked="ItemInfo_Unchecked" Margin="5,5,5,5" HorizontalAlignment="Center" VerticalAlignment="Center">Display more info</s:SurfaceToggleButton>
<Viewbox DockPanel.Dock="Bottom" Stretch="Uniform" MinHeight="100">
<StackPanel>
<Image Name="ItemImage" Margin="5,5,5,5" Visibility="Visible" />
<TextBlock DockPanel.Dock="Bottom" Name="ItemDesc" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="10" TextWrapping="Wrap" Visibility="Visible" Padding="2" />
</StackPanel>
</Viewbox>
</DockPanel>
Проблема в появившемся окне:
TextBlock2 показывает текст в очень маленьком размере относительно остальной частиitems.
Поскольку TextBlock2 показывает текст небольшого размера и внутри панели стека, он не выровнен с левой стороны относительно TextBlock1.
Я использовал Viewbox, чтобы при масштабировании элемента он увеличивал размер текста и изображения.
Есть ли лучший способ сделать это?Может ли использование DataTemplates помочь решить эту проблему или ее для чего-то еще?