2017-02-14 12 views
1

こんにちは、仲間の開発者、xamarinフォームでListViewの最初の子をアニメーション化します。

私はViewCellsでListViewを持っています。 アプリケーションの操作方法に関する最初のチュートリアルの一部として、最初のビューセルの要素の一部をアニメーション化する必要があるため、ユーザーはその要素をクリックするといくつかのことができることを理解できます。

私はMVVMで試してみました:

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

、その後

AccessPage[0].CellName = "TutorialCell"; 

しかし

FindByName<ViewCell>("TutorialCell") 

をNULLを返します。

私だけStackLayoutにバインドされた項目ではなくStackLayout自体にアクセスすることができますので、私は次のことができます。

element.ScaleTo(1.05, 200); 

が、私はこれは間違って考えていますか? ありがとうございます。

+0

私はViewCellから継承し、カスタムビューセルを作成してアニメーションコードをそこに配置すると思います。このカスタムビューセルに独自のBindablePropertyを作成して、チュートリアルセルかどうかを示すか、PropertyChangedイベントをリッスンします。別のオプションは、データテンプレートセレクタを使用することです。 –

+0

ありがとうございます@Bill、私はそのaproachで取り組んでいますが、アニメーションを開始するには "tutorialCell"にどうやってアクセスできますか?私は、 "点滅"要素が何をするかを説明するメッセージを持っているので、メッセージが現れたとき、要素は "点滅" –

答えて

0

これはあなたのために働くでしょうか? 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というプロパティにアクセスすることができました。

関連する問題