Pur*_*ome 10 xamarin xamarin.forms
如何将某个对象的实例传递给Xamarin Forms custom render?
这是自定义渲染器......
public class LoginPageRenderer : PageRenderer
{
public override void ViewDidAppear (bool animated)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的......(注意ctor已被添加......)
public class LoginPageRenderer : PageRenderer
{
private SomeFoo _someFoo;
public LoginPageRenderer(MyFoo someFoo)
{
_someFoo = someFoo;
}
public override void ViewDidAppear (bool animated)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
最后,这是调用此视图的位置(在代码的其他部分).
await _navigationPage.Navigation.PushModalAsync(new LoginPage());
如果在LoginPage对象中定义可公开访问的属性,则可以Renderer使用using Element.NameOfYourProperty语法引用它.
示例代码......
LoginPage.cs(在你的PCL常见项目中).
namespace Foo
{
public class LoginPage : ContentPage
{
private readonly Foo _foo;
public LoginPage(Foo foo)
{
_foo = foo;
}
public Foo Foo { get; private set; }
}
}
Run Code Online (Sandbox Code Playgroud)
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))
{ ... }
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2149 次 |
| 最近记录: |