有没有一种方法可以在xamarin中为内容视图实现加载事件

时间:2020-02-28 09:26:20

标签: c# xamarin

内容视图似乎没有加载事件,而且我似乎也找不到任何方法可以覆盖显示方法。有没有一种方法可以在加载时实现。

1 个答案:

答案 0 :(得分:1)

不幸的是,目前这不可能。

Github问题中有一个功能要求。您可以在https://github.com/xamarin/Xamarin.Forms/issues/3486https://github.com/xamarin/Xamarin.Forms/issues/2210这里关注它。

同时,您可以创建(一个很脏的hack)两个公共方法,并从您的OnAppearing() / OnDissapearing()页面回调中调用它们。

<local:MyContentView x:Name="MyContentView" HeightRequest="100" WidthRequest="100">            
</local:MyContentView>

页面上的代码隐藏

protected override void OnAppearing()
{
    base.OnAppearing();
    (MyContentView as MyContentView)?.PageAppearing();
}

protected override void OnDisappearing()
{
    base.OnDisappearing();
    (MyContentView as MyContentView)?.PageDisappearing();
}

您的ContentView:

public partial class MyContentView : ContentView
{
    public MyContentView()
    {
        InitializeComponent();
    }

    public void PageAppearing()
    {
    }

    public void PageDisappearing()
    { 
    }
}

注意:如果您要对许多ContentView进行此操作,则可能会对此代码进行改进,例如使用ContentViews将实现的接口并使用该接口从页面进行转换。

希望这给您一个主意。