Prism for Xamarin.Forms是否支持类似Caliburn Micro的属性与按钮自动绑定
Prism 绑定相关说明
Prism 原生并不支持 Caliburn Micro 那种基于控件 x:Name 的约定式自动绑定机制,两种框架的设计思路有明显差异:
- Caliburn Micro 主打「约定优于配置」的设计,内置了大量自动绑定规则,会自动匹配控件名称和ViewModel的属性、方法完成绑定。
- Prism 的核心能力聚焦在依赖注入、模块化、视图导航、生命周期管理等 MVVM 架构支撑上,绑定逻辑完全遵循原生 XAML 的标准规范,没有额外封装这类隐式自动绑定的功能。
你在 Prism 文档里找不到相关说明是正常的,Prism 官方没有提供相关能力。如果要实现类似的绑定效果,有两种可选方案:
- 按照标准 XAML 绑定逻辑显式声明绑定,这也是 Prism 官方推荐的用法:
- 文本框属性绑定写法:
<Entry Text="{Binding MyInput}" /> - 按钮点击绑定写法(配合Prism提供的
DelegateCommand):<!-- 视图层代码 --> <Button Text="提交" Command="{Binding MyButtonCommand}" />// ViewModel层代码 public DelegateCommand MyButtonCommand { get; } public MyViewModel() { MyButtonCommand = new DelegateCommand(ExecuteMyButton); } private void ExecuteMyButton() { // 按钮点击逻辑 }
- 文本框属性绑定写法:
- 如果你确实需要约定式自动绑定的能力,可以自行实现附加属性或者标记扩展,遍历视图控件树匹配ViewModel的成员名称自动生成绑定,不过这类自定义实现需要你对XAML绑定机制有较深的理解,不建议新手尝试。
内容的提问来源于stack exchange,提问作者mans
相关产品推荐
相关产品推荐

