在Xamarin.Forms中,可以通过在标记中使用
再次强调,Prism.Forms有更好的方式来绑定视图和
我认为在Prism.Forms的场景中也可以使用
另外,我担心我的
有没有一种支持/推荐的方法来仅针对设计时间(即智能感知)在我的XAML中标识我的
编辑:我的问题是错误的,因为我期望看到的XAML视图智能感知功能不是由Visual Studio提供的,而是由JetBrains的ReSharper提供的。下面描述的解决方案确实增加了预期的IntelliSense功能,但仅在安装了ReSharper(或可能存在其他具有此功能的Visual Studio插件)的开发环境中才有效。
<ContentPage.BindingContext>
标签来指定XAML页面要使用的ViewModel
。我所能看到的唯一优点是,在与ViewModel
相关联的{Binding}
属性值时,我在XAML中可以获得关于VM属性/命令的智能感知功能。与Prism.Forms将视图与ViewModel
绑定的更加灵活的方法相比,这样做的唯一优点就在于此。再次强调,Prism.Forms有更好的方式来绑定视图和
ViewModel
,但当我使用它们时,我通常无法在XAML页面中获得智能感知功能,这实际上对于复杂的视图/ViewModel非常有帮助。我认为在Prism.Forms的场景中也可以使用
<ContentPage.BindingContext>
标签,但这感觉像是打破了Prism想要进行视图到ViewModel
绑定的方式。另外,我担心我的
ViewModel
会被不必要地实例化两次:一次是Xamarin.Forms创建它时,另一次是Prism进行绑定时。不确定是否正确... 同样,我可以想象一种情况,即我希望在不同的时间将我的视图绑定到不同的ViewModel
上; 例如,在Android与iOS上使用不同的VM类。Prism让我这样做,但我担心在存在<ContentPage.BindingContext>
标签时无法实现这一点。有没有一种支持/推荐的方法来仅针对设计时间(即智能感知)在我的XAML中标识我的
ViewModel
,而在运行时由Prism的视图到视图模型绑定逻辑发生?我认为我希望完全忽略<ContentPage.BindingContext>
标签,除非我正在使用Visual Studio编辑XAML。编辑:我的问题是错误的,因为我期望看到的XAML视图智能感知功能不是由Visual Studio提供的,而是由JetBrains的ReSharper提供的。下面描述的解决方案确实增加了预期的IntelliSense功能,但仅在安装了ReSharper(或可能存在其他具有此功能的Visual Studio插件)的开发环境中才有效。