2017-11-13 13 views
6

に加入する必要があることを今、このiOSのレンダラを簡素化することができませんこのコンテキストで再利用できる基本オーバーライド可能なメソッドHandlePropertyChangedがあるので、property-changed-eventを購読してください。は、私はもはや明示的に私はこのカスタムレンダラを使用していますプロパティ変更イベント

これがViewCellRendererのケースであるかどうか誰かから教えてもらえますか?その場合、どうすればこのコードを修正してこれを利用できますか?

は、私はまた、別のレンダラでは、このようなコードを見た:

public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv) 
{ 
    var textCell = (TextCell)item; 
    var fullName = item.GetType().FullName; 
    cell = tv.DequeueReusableCell(fullName) as CellTableViewCell; 

    //... 

をしかしここにいません。これを行う必要がありますCell = tv.DequeueReusableCell

+0

ViewCellRendererソース:https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs – Nkosi

+0

TextCellRendererソース:https://github.com/xamarin /Xamarin.Forms/blob/master/Xamarin.Forms.Platform.iOS/Cells/TextCellRenderer.cs – Nkosi

+0

'TextCellRenderer'は、保護されている可能性のある' protected Virtual void HandlePropertyChanged'を持っていますが、 'ViewCellRenderer'は' ViewCellPropertyChanged 'それは'プライベート ' – Nkosi

答えて

2

TextCellRendererを使用して、このコンテキストで再利用できる基本オーバーライド可能なHandlePropertyChangedメソッドがあるため、property-changed-eventを明示的にサブスクライブする必要はありません。

はいそれは、そのソースコードに基づいて正しい

protected virtual void HandlePropertyChanged(object sender, PropertyChangedEventArgs args) { 
    //... 
} 

TextCellRenderer Source

ので、その後どのように私は変更することができれば、これはケースがViewCellRendererにもあるとあれば誰かが教えてもらえますこのコードを使用するには?

ありません、それはケースがViewCellRendererをさらすされていないソースコードに応じてViewCellRendererにもないそのViewCellPropertyChangedそのままprivate

void ViewCellPropertyChanged(object sender, PropertyChangedEventArgs e) { 
    //... 
} 

ViewCellRenderer Source

あなたは常にそれを自分で修正することができるし、その機能を追加するプル要求を作成します。

関連する問題