Организация расположения элементов управления в ScatterViewItem - PullRequest
1 голос
/ 11 ноября 2010

У меня есть элемент scatterview, который имеет следующее содержимое в указанном порядке в вертикальном порядке.

  1. TextBlock, который будет отображать 1-3 строки текста - TextBlock1

  2. Изображение - размер будет варьироваться в зависимости от разрешения изображения, но я установлю минимальную высоту и ширину в свойстве.

  3. TextBlock - будет отображаться 1-10 строк текста- TextBlock2

  4. Кнопка переключения поверхности

Теперь пользователь может масштабировать этот элемент, поэтому я поместил его в окно просмотра.Код 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>

Проблема в появившемся окне:

  1. TextBlock2 показывает текст в очень маленьком размере относительно остальной частиitems.

  2. Поскольку TextBlock2 показывает текст небольшого размера и внутри панели стека, он не выровнен с левой стороны относительно TextBlock1.

Я использовал Viewbox, чтобы при масштабировании элемента он увеличивал размер текста и изображения.

Есть ли лучший способ сделать это?Может ли использование DataTemplates помочь решить эту проблему или ее для чего-то еще?

1 Ответ

0 голосов
/ 17 декабря 2010

обернуть элементы изображения и текстового блока отдельными окнами просмотра

...