如何将某个对象的实例传递给 Xamarin Formscustom render
?
这是自定义渲染器...
public class LoginPageRenderer : PageRenderer
{
public override void ViewDidAppear (bool animated)
{
....
}
}
这就是我想做的......(注意 ctor 已添加......)
public class LoginPageRenderer : PageRenderer
{
private SomeFoo _someFoo;
public LoginPageRenderer(MyFoo someFoo)
{
_someFoo = someFoo;
}
public override void ViewDidAppear (bool animated)
{
....
}
}
最后,这是调用该视图的地方(在代码的其他部分)。
await _navigationPage.Navigation.PushModalAsync(new LoginPage());
如果您在中定义了可公开访问的属性LoginPage
对象,您可以在Renderer
using Element.NameOfYourProperty
syntax.
由 PureKrome 更新
示例代码...
登录页面.cs(在您的 PCL 公共项目中)。
namespace Foo
{
public class LoginPage : ContentPage
{
private readonly Foo _foo;
public LoginPage(Foo foo)
{
_foo = foo;
}
public Foo Foo { get; private set; }
}
}
LoginPageRenderer.cs(在您的 iOS 项目中)
[assembly: ExportRenderer (typeof (LoginPage), typeof (LoginPageRenderer))]
namespace Foo.iOS
{
public class LoginPageRenderer : PageRenderer
{
private Foo Foo
{
get
{
var loginPage = Element as LoginPage;
return loginPage == null
? null
: loginPage.Foo;
}
}
public override void ViewDidAppear (bool animated)
{
if (string.IsNullOrWhitespace(Foo.SecretName))
{ ... }
...
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)