2016-08-22 76 views
2

在iOS自定義渲染器中未觸發OnElementPropertyChanged。OnElementPropertyChanged未在iOS自定義渲染器中觸發

我創建了一個類庫。在我的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中描述了類似的情況。

相關問題