在我的ViewModel中,我有2 ObservableCollection
个不同类型(ListeEquipements
和ListeTypeEquipements
)。我尝试做的是使用我的第一个集合创建我的Tabcontrol
的项目,并使用我的第二个集合的属性填充每个标签内容。
我的窗口的详细信息(实际上是我的UserControl):
<UserControl.DataContext>
<vm:EquipementsViewModel/>
</UserControl.DataContext>
<TabControl Grid.Row="1"
TabStripPlacement="Bottom"
ItemsSource="{Binding ListeTypeEquipements}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Nom}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding ListeEquipements}">
<DataGrid.Columns>
<DataGridTextColumn Header="Tag" Binding="{Binding ListeEquipements.Tag}" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
答案 0 :(得分:1)
我设法让它更好一点,做得那样:
<TabControl Grid.Row="1"
TabStripPlacement="Bottom"
ItemsSource="{Binding ListeTypeEquipements}"
>
<TabControl.Resources>
<CollectionViewSource x:Key="Equipements" Source="{Binding ListeEquipements}"/>
</TabControl.Resources>
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Nom}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<Label Content="{Binding Source={StaticResource Equipements}, Path=Tag}"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
我的新问题是,我希望我的ContentTemplate
列出Equipement
的{{1}},现在我只能显示第一个成员。