locked
Каким образом делается анимация при выборе элемента в ListBox RRS feed

  • Вопрос

  • Доброго времени суток!

    Уважаемые профессионалы-разработчики, помогите пожалуйста.

    Есть приложение PanoramaApp на MainPage существует Listbox при событии SelectionChange открывается новая страница SecPage с данными.

    Несколько вопросов:

    1. Как при возврате на MainPage  обнулить значение выбранного элемента, т.е. функционал должен быть такой: нажимаем на Item1 в listbox -> открылась SecPage-> нажимаем кнопку back->открывается MainPage->снова выбор Item1->открылась SecPage. На данном этапе у меня после возврата на MainPage  Item1 становится неактивным.

    2. Каким образом можно реализовать анимацию при выборе Item в ListBox'е , например как это происходит в Marketplace при выборе какого-либо элемента.

    3. И завершающий вопрос, какой элемент может отображать и картинку среднего размера и текст одновременно. На данный момент я это реализую с помощью html и webbrowser'а. Задача сделать страницу с определенной картинкой на фоне, а так же текстом новости и картинкой привязанной к этой новости. Примеров подобной реализации в приложении не нашел.  

    Заранее спасибо за ответы

    11 сентября 2012 г. 12:52

Ответы

  • 2ProstoKorol

    Анимацию перехода при выбора элемента списка можно посмотреть здесь. Насколько я помню, анимация в библиотеке WP7Contrib как раз основана на этой статье. На странице проекта есть документация с примерами. Также по использованию анимации из WP7Contrib можно посмотреть доклад с DevCon'12.

    Что касается реализации картинки и текста рядом, то можно использовать, например, StackPanel, внутри которого расположены TextBlock для отображения текста и Image для отображения картинки.

    • Помечено в качестве ответа ProstoKorol 13 сентября 2012 г. 15:21
    12 сентября 2012 г. 7:29
  • 1. Как при возврате на MainPage  обнулить значение выбранного элемента, т.е. функционал должен быть такой: нажимаем на Item1 в listbox -> открылась SecPage-> нажимаем кнопку back->открывается MainPage->снова выбор Item1->открылась SecPage. На данном этапе у меня после возврата на MainPage  Item1 становится неактивным.


    Решение: В коде необходимо написать строчку:  ListBox1.SelectedIndex = -1;
    • Помечено в качестве ответа ProstoKorol 13 сентября 2012 г. 15:21
    13 сентября 2012 г. 15:21

Все ответы

  • 2ProstoKorol

    Анимацию перехода при выбора элемента списка можно посмотреть здесь. Насколько я помню, анимация в библиотеке WP7Contrib как раз основана на этой статье. На странице проекта есть документация с примерами. Также по использованию анимации из WP7Contrib можно посмотреть доклад с DevCon'12.

    Что касается реализации картинки и текста рядом, то можно использовать, например, StackPanel, внутри которого расположены TextBlock для отображения текста и Image для отображения картинки.

    • Помечено в качестве ответа ProstoKorol 13 сентября 2012 г. 15:21
    12 сентября 2012 г. 7:29
  • По поводу:

    "1. Как при возврате на MainPage  обнулить значение выбранного элемента, т.е. функционал должен быть такой: нажимаем на Item1 в listbox -> открылась SecPage-> нажимаем кнопку back->открывается MainPage->снова выбор Item1->открылась SecPage. На данном этапе у меня после возврата на MainPage  Item1 становится неактивным."

    Создал новый проект, туда вставил тот же код. И что Вы думаете?! Обнуление происходит при возврате на MainPage, причем выбранный элемент даже цвет меняет при тапе на нем(я параметры эти не задавал). В чем может быть причина? 

    <ListBox Height="607" HorizontalAlignment="Left" Margin="-4,0,0,0" Name="PostList" SelectionChanged="PostList_SelectionChange" VerticalAlignment="Top" Width="460">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <TextBlock Text="{Binding pubDate, ConverterCulture=ru-RU, StringFormat=D}" FontSize="20"/>
                                <TextBlock Text="{Binding title}" TextWrapping="Wrap" FontSize="22" />
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

    2GooKellas

    Спасибо за совет. 

    Насчет TextBlock и вывода в него текста, реализовал пока только то что текст, который парсится из xml формируется в одну строчку, каким параметром можно задать параметр переноса по строкам или чтобы textblock автоматически подгонял текст под размер экрана. И не понятно каким образом убрать отступ текста в TextBlock'e.


    • Изменено ProstoKorol 12 сентября 2012 г. 18:34
    12 сентября 2012 г. 12:21
  • 1. Как при возврате на MainPage  обнулить значение выбранного элемента, т.е. функционал должен быть такой: нажимаем на Item1 в listbox -> открылась SecPage-> нажимаем кнопку back->открывается MainPage->снова выбор Item1->открылась SecPage. На данном этапе у меня после возврата на MainPage  Item1 становится неактивным.


    Решение: В коде необходимо написать строчку:  ListBox1.SelectedIndex = -1;
    • Помечено в качестве ответа ProstoKorol 13 сентября 2012 г. 15:21
    13 сентября 2012 г. 15:21
  • Спасибо, что поделились решением.

    Для связи [mail]

    14 сентября 2012 г. 12:54