我试图通过不在集合视图中添加集合视图来显示嵌套数据来避免不良做法,并且我有一个
public partial class Items
{
public int itemNumber { get; set; }
public string itemdescr{ get; set; }
public List<Items> Child { get; set; }
}
我的Collection 视图是这样的
<CollectionView x:Name="CollectionViewBoM" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="9" ItemsSource="{Binding Data}">
<CollectionView.ItemTemplate>
<DataTemplate >
<mct:Expander >
<mct:Expander.Header>
<Grid HeightRequest="45" MaximumHeightRequest="90" ColumnSpacing="1" RowSpacing="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="240"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<BoxView Grid.Column="0" Style="{DynamicResource ContentBoxView}"/>
<BoxView Grid.Column="1" Style="{DynamicResource ContentBoxView}"/>
<Label TextColor="{DynamicResource SecondaryTextColor}" Grid.Column="0" Text="{Binding itemNumber}" Style="{DynamicResource ContentLabel}"/>
<Label TextColor="{DynamicResource SecondaryTextColor}" Grid.Column="1" Text="{Binding Description}" Style="{DynamicResource ContentLabel}"/>
</Grid>
</mct:Expander.Header>
<mct:Expander.Content x:Name="CollectionViewChild">
<StackLayout BindableLayout.ItemsSource="{Binding Child}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<HorizontalStackLayout>
<Label Text="{Binding itemNumber}" />
<Label Text="{Binding itemdescr}" Margin="10,0,0,0"/>
</HorizontalStackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
</mct:Expander.Content>
</mct:Expander>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
我绑定到视图模型,但我可以看到数据,但不能看到子数据.我是否错误地使用了BindableLayout.ItemsSource?
[ObservableProperty]
public List<Items> data;