我有这个代码:
public partial class PhrasesFrameRenderer : Frame
{
Random rand = new Random();
private int answeredPhraseCount;
private int correctAns;
public PhrasesFrameRenderer()
{
InitializeComponent();
App.PhrasesFrameRenderer = this;
public void abc()
{
....
};
和自定义渲染器
[assembly: ExportRenderer(typeof(PhrasesFrameRenderer), typeof(PhrasesFrameCustomRenderer))]
namespace Japanese.iOS
{
public class PhrasesFrameCustomRenderer : FrameRenderer
{
UISwipeGestureRecognizer leftSwipeGestureRecognizer;
UISwipeGestureRecognizer rightSwipeGestureRecognizer;
PhrasesFrameRenderer frame;
bool rightSwipeEnabled = false;
有人可以向我解释如何从自定义渲染器代码中调用短语 FrameRenderer 中的 ABC 函数。
最佳答案
在您的 CustomRenderer 中,Element
属性基本上是您在 PCL Xamarin Forms 类中声明的 View PhrasesFrameRenderer
您只需要将此属性转换为类,您就可以访问所有公共(public)方法和属性。
var frame = (PhrasesFrameRenderer)Element;
frame.abc();
或者
var frame = Element as PhrasesFrameRenderer;
if(frame != null)
frame.abc();
这应该有效。
一个注意事项 :我不会将自定义 View 称为渲染器,因为这会与其实际渲染器产生混淆。您的自定义框架可以命名为
PhrasesFrame
关于xamarin - 如何从 iOS 自定义渲染器调用基本帧渲染器中的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44953267/