C# 试图定义一个';视图';通过使用scrollviewer获取控件。Silverlight与WP7之间的结果不同?

C# 试图定义一个';视图';通过使用scrollviewer获取控件。Silverlight与WP7之间的结果不同?,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,我正在尝试创建一个简单的图像旋转器控件,用户可以在其中单击箭头,图像将滑动到另一个箭头。我用scrollviewer中的图像堆栈面板来实现这一点 在silverlight中,以下代码按预期工作: <Grid x:Name="RootLayout" Margin="200" Width="480"> <Grid.RowDefinitions> <RowDefinition Height="50" /> <RowDef

我正在尝试创建一个简单的图像旋转器控件,用户可以在其中单击箭头,图像将滑动到另一个箭头。我用scrollviewer中的图像堆栈面板来实现这一点

在silverlight中,以下代码按预期工作:

<Grid x:Name="RootLayout" Margin="200" Width="480">
    <Grid.RowDefinitions>
        <RowDefinition Height="50" />
        <RowDefinition Height="50" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="50" />
        <ColumnDefinition Width="50" />
    </Grid.ColumnDefinitions>

    <ScrollViewer Grid.Row="0" Grid.Column="0" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden">
        <StackPanel Orientation="Horizontal">

            <StackPanel.RenderTransform>
                <TranslateTransform x:Name="tt" />
            </StackPanel.RenderTransform>

            <StackPanel.Resources>
                <Storyboard x:Name="sb">
                    <DoubleAnimation 
                        Storyboard.TargetName="tt"
                        Storyboard.TargetProperty="X"
                        From="0"
                        To="-50"
                        Duration="0:0:0.25" />
                </Storyboard>
            </StackPanel.Resources>

            <Rectangle Width="50" Height="50" Fill="Blue" />
            <Rectangle Width="50" Height="50" Fill="Green" />
        </StackPanel>
    </ScrollViewer>

    <Button Content="Push" Click="test" Grid.Row="1" Grid.Column="1" />
</Grid>


“按下”按钮只是开始故事板

现在,当我在wp7页面中使用相同的代码时,我在故事板的Begin方法上得到一个运行时错误,表示targetname无法解析。有趣的是,如果我完全移除StackPanel周围的ScrollViewer,页面运行就很好。为什么当stackpanel包含在scrollviewer中时,它会在wp7上失败?(请注意,电话页面的根级别是phone:PhoneApplicationPage)


谢谢

无法回答为什么会有差异,但通常当我在WP7上编写故事板时,我会这样引用我想要的转换

Storyboard.TargetName=“myStackPanel”Storyboard.TargetProperty=“(UIElement.RenderTransform)。(TranslateTransform.X)

也许在几种算法中存在差异

Storyboard.TargetName="myStackPanel" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)