Попытка определить «Вид» для элемента управления с помощью прокрутки просмотра.Разные результаты между Silverlight, но не WP7? - PullRequest
1 голос
/ 27 февраля 2011

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

n 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>

Кнопка «Push» просто начинает раскадровку.

Теперь, когда я использую этот же код на странице wp7, я получаю ошибку во время выполнения метода Begin раскадровки, говорящую о том, что имя цели не может бытьрешена.Интересно, что если полностью удалить ScrollViewer, обернутый вокруг StackPanel, страница будет работать нормально.Почему он не работает на wp7, когда панель стека находится внутри scrollviewer?(Обратите внимание, что корневым уровнем телефонной страницы является phone: PhoneApplicationPage)

Спасибо!

1 Ответ

0 голосов
/ 28 февраля 2011

Не могу ответить, почему есть разница, но обычно, когда я пишу раскадровки на WP7, я ссылаюсь на преобразование, которое я хочу, вот так.

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

Возможно, есть разница в алгоритмах перемещения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...