加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 20:54:07 所属栏目:百科 来源:网络整理
导读:我正在创建一个在每个平台上使用 custom renderer的组件.我们把它称为SpecialButton元素. BindableProperty适用于值,但我也希望允许用户从共享代码调用渲染器上的操作(从Forms控件代码调用渲染器上的方法).我认为DependencyService是一个可能的解决方案,但我
我正在创建一个在每个平台上使用 custom renderer的组件.我们把它称为SpecialButton元素. BindableProperty适用于值,但我也希望允许用户从共享代码调用渲染器上的操作(从Forms控件代码调用渲染器上的方法).我认为DependencyService是一个可能的解决方案,但我认为这不会起作用,因为多个按钮可能出现在同一页面上,所以我需要创建并链接到我的Xamarin Forms元素的特定渲染器实例.

So,is there an elegant way for my Xamarin Forms control element to
get access to the custom renderer that was instantiated by the Forms
framework?

我曾考虑过在控件上公开一个属性,并让渲染器在其构造函数中将自己设置为属性,但这会让人感觉很乱,并且还会将它暴露给我不想做的控件的用户.

解决方法

我想我找到了一个解决方案.我没有意识到 MessagingCenter有一个source参数,可以用来指定element属性.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读