Xamarin 通过接口而不是类引用XAML中的自定义控件

Xamarin 通过接口而不是类引用XAML中的自定义控件,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我需要能够在运行时交换视图的实例,这取决于某些条件 我可以在代码隐藏中实现这一点,并通过代码构建UI(例如,在InitializeComponent中解析接口),但我的首选方法是将该项放在XAML中作为对接口的引用,然后在运行时解析该接口。我觉得XAML是一种比在代码中表达绑定和属性分配更好的方法 请注意-我不是试图控制控件的可见性。我试图控制所使用的控件的实现 这可能吗?您可以使用XAML中的属性IsVisible,并将其绑定到ViewModel中的属性。例如,使用该选项,可以使view1可见

我需要能够在运行时交换视图的实例,这取决于某些条件

我可以在代码隐藏中实现这一点,并通过代码构建UI(例如,在InitializeComponent中解析接口),但我的首选方法是将该项放在XAML中作为对接口的引用,然后在运行时解析该接口。我觉得XAML是一种比在代码中表达绑定和属性分配更好的方法

请注意-我不是试图控制控件的可见性。我试图控制所使用的控件的实现


这可能吗?

您可以使用XAML中的属性
IsVisible
,并将其绑定到ViewModel中的属性。例如,使用该选项,可以使view1可见,也可以使view2可见。

根据复杂程度,我可能只隐藏/显示视图。(绑定对某物可见)

如果您想要更复杂的东西和xaml-y,那么可以使用数据模板选择器,然后呈现模板。我在这里创建了一个示例:


你能更具体地说明你的目标吗?文章的第一部分听起来像是要更改一组视图,最后一段听起来像是要动态更改这些视图的子类。