C# 从Xamarin Forms元素共享代码访问自定义渲染器实例

C# 从Xamarin Forms元素共享代码访问自定义渲染器实例,c#,xamarin,custom-controls,renderer,xamarin-forms,C#,Xamarin,Custom Controls,Renderer,Xamarin Forms,我正在创建一个组件,该组件在每个平台上使用。让我们称之为特殊按钮元素。BindableProperty可以很好地处理值,但我还希望允许用户从共享代码调用渲染器上的操作(从表单控制代码调用渲染器上的方法)。我曾将DependencyService视为一种可能的解决方案,但我认为这不会起作用,因为多个按钮可能出现在同一页面上,因此我需要创建并链接到Xamarin Forms元素的特定呈现器实例 那么,我的Xamarin表单控件元素是否有一种优雅的方式 获取对表单实例化的自定义呈现程序的访问权限 框架

我正在创建一个组件,该组件在每个平台上使用。让我们称之为特殊按钮元素。BindableProperty可以很好地处理值,但我还希望允许用户从共享代码调用渲染器上的操作(从表单控制代码调用渲染器上的方法)。我曾将DependencyService视为一种可能的解决方案,但我认为这不会起作用,因为多个按钮可能出现在同一页面上,因此我需要创建并链接到Xamarin Forms元素的特定呈现器实例

那么,我的Xamarin表单控件元素是否有一种优雅的方式 获取对表单实例化的自定义呈现程序的访问权限 框架


我曾考虑过在控件上公开一个属性,并让渲染器在其构造函数中将自己设置为该属性,但这感觉有点不对劲,而且还将其公开给控件的用户,这是我不想做的。

我想我找到了一个解决方案。我没有意识到它有一个可以用来指定元素属性的源参数

MessagingCenter.Subscribe(this, "DoOperation", myButton => DoOperation(), Element);