2016-08-22 4 views
2

OnElementPropertyChangedがiOSカスタムレンダラでトリガされません。iOSカスタムレンダラでOnElementPropertyChangedがトリガされない

私はクラスライブラリを作成しました。 Customer Rendererクラスでは、OnElementPropertyChangedをオーバーライドしています。これは、ビューのプロパティが変更されたときに呼び出される必要があります。

XamarinForms:

public class CustomControl : View 
{ 
    public int PageNumber 
    { 
     get { return (int)GetValue(PageNumberProperty); } 
     set { SetValue(PageNumberProperty, value); } 
    } 

    public static readonly BindableProperty PageNumberProperty = 
     BindableProperty.Create<CustomControl, int>(p => p.PageNumber, 0, BindingMode.Default, null, null); 


} 

CustomRendererクラスのiOS:

[assembly: ExportRenderer(typeof(CustomControl), typeof(CustomRenderer))] 

namespace XForms.iOS 
{  
internal class CustomRenderer : ViewRenderer<CustomControl, UIScrollView> 
{ 

    protected override void OnElementChanged(ElementChangedEventArgs<CustomControl> e) 
    { 
     base.OnElementChanged(e); 


    } 
    protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) 
    { 
     base.OnElementPropertyChanged(sender, e); 
    } 
} 

}

、誰もが私が間違っているの何言うことはできますか?

+0

このCustomControlをXAMLに追加していますか?ローカル名前空間を使用します。 – PrafulD

答えて

0

実際にカスタムレンダラーを使用していることを、ブレークポイントを入れて確認してください。

次に、のUIエレメントを作成した後、適切な(PageNumberに変更してください。作成プロセス中に、プロパティ変更通知は送信されません。同様の事例がXamarin forumsに記載されています。

関連する問題