1

如何获取对特定原生视图的引用,而不是 UIView?这是我的自定义标签渲染器:

   public class MyLabelRenderer : LabelRenderer
   {
       protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
       {
            //how to get UILabel reference created by base LabelRender?
            base.OnElementChanged(e);
       }
   }

我以这个渲染器示例为例。

4

3 回答 3

1

您使用的参考已过时。使用这个http://forums.xamarin.com/discussion/comment/59303

可以通过该Control属性访问本机视图,前提是您调用了SetNativeControl()

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

        if (e.OldElement == null) {
            // perform initial setup
            SetNativeControl (new UIMyCustomView (RectangleF.Empty));
        }

        UpdateSomething ();
    }
于 2014-06-24T09:49:22.047 回答
0

尝试使用e.OldElemente.NewElement

于 2014-06-23T19:58:17.553 回答
0

您需要使用渲染器的 Control 属性。它理论上应该在 OnElementChanged 方法中可用。但是,在 UWP 等某些平台上,自定义渲染器实际上就是本机控件。

于 2017-09-06T01:14:47.043 回答