动画更改StackPanel位置后,不显示部分文本

时间:2011-03-08 10:51:21

标签: silverlight windows-phone-7 stackpanel

我有一个Windows Phone 7项目,其页面具有以下结构:

  • 我有一个名为main stackpanel
  • 的scrollviewer和一个stackpanel
  • 在主堆栈面板中,我有几个水平方向的堆叠面板
  • 水平stackpanels有几个文本块,每个文本块包含一个字母

有时水平堆叠面板包含的字母多于它适合手机屏幕的字母数量。我不时需要在屏幕外显示一组字母。 为了能够显示这些字母,我需要移动堆叠面板,以便字母在屏幕上变得可见。当我完成动画时,移动到屏幕的字母根本不可见。

我该怎么做才能让它可见?

我添加了一个屏幕截图和我的页面的伪xaml来演示结构。我希望这个能帮上忙! enter image description here

<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <ScrollViewer VerticalScrollBarVisibility="Disabled">
        <StackPanel x:Name="MainStackPanel" Margin="12,0,12,-177" Grid.RowSpan="2" RenderTransformOrigin="0.5,0.5" >
            <StackPanel x:Name="stackPanel" Orientation="Horizontal" Width="580" RenderTransformOrigin="0.5,0.5">
             <StackPanel.RenderTransform>
              <CompositeTransform/>
             </StackPanel.RenderTransform>
                <TextBlock Style="{StaticResource LetterStyle1}" VerticalAlignment="Stretch"><Run Text="e"/></TextBlock>
                <TextBlock Style="{StaticResource LetterStyle1}" VerticalAlignment="Stretch"><Run Text="u"/></TextBlock>
                ... many more textblock each containing a letter 
            </StackPanel>
            <StackPanel Orientation="Horizontal">
                <TextBlock Style="{StaticResource LetterStyle1}" VerticalAlignment="Stretch"><Run Text="e"/></TextBlock>
                <TextBlock Style="{StaticResource LetterStyle1}" VerticalAlignment="Stretch"><Run Text="u"/></TextBlock>
                ... many more textblock each containing a letter 
            </StackPanel>

1 个答案:

答案 0 :(得分:1)

幸运的是,我设法找到了解决方案。问题是一些水平堆栈面板比MainStackPanel宽。

将MainStackPanel和ScrollViewer更改为最宽的水平宽度可以解决问题。

 <ScrollViewer VerticalScrollBarVisibility="Disabled" Margin="0,0,-106,0">
        <StackPanel x:Name="MainStackPanel" Margin="12,0,12,-177" Grid.RowSpan="2" RenderTransformOrigin="0.5,0.5" >