我有一个XYZ类型的对象,以及一个viewmodel XYZViewModel。我有这个对象的datatemplate
<DataTemplate DataType="{x:Type vm:XYZViewModel}">
<Grid>
/ some ui
</Grid>
</DataTemplate>
我有一个viewmodel&#34; ListXYZViewModel&#34;其中包含&#34; XYZViewModel的列表。现在我应该显示这些对象的列表。
哪种方法最好? 我想把它展示在一个wrappanel中。我做了这个
<ItemsPanelTemplate x:Key="WrapPanelTemplate">
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
<DataTemplate DataType="{x:Type vm:ListXYZViewModel}">
<Grid>
<ItemsControl ItemsSource="{Binding HomeViewModel}" ItemsPanel="{StaticResource WrapPanelTemplate }"></ItemsControl>
</Grid>
</DataTemplate>
这不起作用。有什么建议吗?
答案 0 :(得分:1)
这对你有用吗?
<ItemsControl ItemsSource="{Binding HomeViewModel}" ItemsPanel="{StaticResource WrapPanelTemplate }">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type vm:ListXYZViewModel}">
<Grid>
<!-- your ui -->
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
答案 1 :(得分:0)
尝试明确设置ItemTemplate
:
<ItemsControl
ItemsSource="{Binding HomeViewModel}"
ItemsPanel="{StaticResource WrapPanelTemplate}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
/ some ui
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>