我正在尝试为我的Windows应用商店应用实现以下“开始屏幕”界面。
我认为Gridview将是要使用的组件。
如何在GridView中显示不同类型的项目?
这是一个好方法吗?
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<ContentControl Content="{Binding Converter={StaticResource local:ContentTypeToControlConverter}}" />
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
和班级
public class ContentTypeToControlConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (value != null)
{
if (value is MenuItem)
{
return new MenuItemControl();
}
else if (value is RecentViewItem)
{
return new RecentItemControl();
}
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
答案 0 :(得分:1)
如果您的目标是Windows 8.1或更高版本,则可以使用Hub
控件。这样,您就可以避免为GridView
指定项目组,但是实现DataTemplateSelector
并将其设置为ItemTemplateSelector
的{{1}}属性是方法基于不同模板的项目。