我有一个Windows Phone 7项目,其页面具有以下结构:
有时水平堆叠面板包含的字母多于它适合手机屏幕的字母数量。我不时需要在屏幕外显示一组字母。 为了能够显示这些字母,我需要移动堆叠面板,以便字母在屏幕上变得可见。当我完成动画时,移动到屏幕的字母根本不可见。
我该怎么做才能让它可见?
我添加了一个屏幕截图和我的页面的伪xaml来演示结构。我希望这个能帮上忙!
<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>
答案 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" >