假设我有一个视图模型,其中包含一组项和一个选定项。
public interface IFoo {..}
public interface IFooA : IFoo {..}
public interface IFooB : IFoo {..}
public class MyViewModel : ViewModelBase
{
private IFoo _selectedItem;
public IFoo SelectedItem
{
get => _selectedItem;
set
{
_selectedItem = value;
OnPropertyChanged();
}
}
private List<IFoo> _items;
public List<IFoo> Items
{
get => _items;
set
{
_items = value;
OnPropertyChanged();
}
}
}
在XAML中,我有一个Picker
,我想根据所选项目的类型显示不同的模板。一个模板用于IFooA
,另一个模板用于IFooB
。
我找不到在MAUI XAML中实现这一点的最佳方法。我没有看到任何模板选择器。
<Grid>
<Picker ItemsSource="{Binding Items}" ItemDisplayBinding="{Binding Name}" SelectedItem="{Binding SelectedItem}"/>
<ContentPresenter>
<!--Probably not possible with content presenter-->
</ContentPresenter>
</Grid>
1条答案
按热度按时间t1rydlwq1#
我觉得你可以用触发器。
假设我们有一个带有两个值的Picker:
然后对于任何使用数据触发器的控件
有关详细信息,请参阅Triggers
希望对你有用。