2014-03-26 71 views
0

我有一个XYZ类型的对象和一个viewmodel XYZViewModel。我有一个DataTemplate此对象在MVVM中将可观察集合绑定到wrappanel

<DataTemplate DataType="{x:Type vm:XYZViewModel}"> 
    <Grid> 
     /some ui 
    </Grid> 
</DataTemplate> 

我有一个视图模型“ListXYZViewModel”,其中包含的“XYZViewModel。现在我要显示这些对象的列表清单。

哪家做的最好办法? 我想在wrappanel.I显示它的这样做

<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> 

这does not工作。任何建议?

+0

是HomeViewModel集合本身还是你的意思的ItemsSource绑定到集合上? – markmnl

+0

HomeViewModel是XYZViewModel的ObservableCollection对象 – harin04

回答

0

尝试设置你的ItemTemplate明确:

<ItemsControl 
    ItemsSource="{Binding HomeViewModel}" 
    ItemsPanel="{StaticResource WrapPanelTemplate}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       /some ui 
      </Grid> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
+0

This Works thank you :) – harin04

1

这是否工作你呢?

<ItemsControl ItemsSource="{Binding HomeViewModel}" ItemsPanel="{StaticResource WrapPanelTemplate }"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate DataType="{x:Type vm:ListXYZViewModel}"> 
      <Grid> 
       <!-- your ui --> 
      </Grid> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
+0

This Works thankyou :) – harin04

相关问题