2017-02-14 4 views
1

Привет, коллеги-разработчики,Анимация первого ребенка ListView на форматах xamarin

У меня есть ListView с, вы gess it, ViewCells. Как часть первого учебника о том, как работать с приложением, мне нужно анимировать некоторые элементы первой ячейки просмотра, чтобы пользователь мог понять, что щелчок в этом элементе будет делать некоторые вещи.

Я попытался с MVVM:

<StackLayout x:Name="{Binding CellName}" Orientation="Horizontal" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Margin="20"> 

, а затем

AccessPage[0].CellName = "TutorialCell"; 

но

FindByName<ViewCell>("TutorialCell") 

возвращает нуль.

я могу получить доступ только элемент, который привязываться к StackLayout, но не саму StackLayout, так что я могу:

element.ScaleTo(1.05, 200); 

Могу ли я думать, что это не так? Спасибо.

+0

Я думаю, что наследовал бы от ViewCell и создал бы пользовательскую ячейку представления и разместил бы там свой код анимации, вы можете создать свой собственный BindableProperty в этой настраиваемой ячейке просмотра, чтобы указать, является ли это ячейкой учебника, или просто слушать события PropertyChanged. Другой вариант - использовать селектор шаблонов данных. –

+0

Спасибо @Bill, я работаю над этим aproach, но как я могу получить доступ к «tutorialCell», чтобы начать анимацию? У меня есть сообщение, объясняющее, что делает «мигающий» элемент, поэтому, когда появляется сообщение, элемент должен «мигать», –

ответ

0

Будет ли это работать на вас? Создайте новый класс, который наследуется от ListView и переопределить метод SetupContent:

public class MyListView : ListView 
{ 
    public Cell FirstRow { get; set; } 
    protected override void SetupContent(Cell content, int index) 
    { 
     if (index == 0) FirstRow = content; 
     base.SetupContent(content, index); 
    } 
} 

Тогда вы могли бы получить доступ к свойству FirstRow вашего пользовательского элемента управления ListView.

Смежные вопросы