0

この機能を実行しようと何度も試みた後、ついに私は完全に道に迷いました。グループ ヘッダーのみが表示され、ZoomInView でのみ表示されます。どこが間違っていますか?すべてのデータは Web API サービスから読み込まれますが、CollectionViewSource は監視可能であり、これが問題の原因にはならないと思います。

これらは私のポコクラスです

public class StopInformation
{
    public string Name { get; set; }

    public string Number { get; set; }
}

public class ScheduleDirection
{
    public string Direction { get; set; }

    public IEnumerable<StopInformation> Stops { get; set; }
}

ViewModel メンバー

public ObservableCollection<ScheduleDirection> Directions { get; set; }

私のページのxamlリソース

<CollectionViewSource x:Name="cvs" IsSourceGrouped="true"
                      Source="{Binding Directions}" />

セマンティック ズーム コード:

<SemanticZoom x:Name="semanticZoom">
    <SemanticZoom.ZoomedOutView>
            <GridView ItemsSource="{Binding Path=View.CollectionGroups, Source={StaticResource cvs}}" ScrollViewer.IsHorizontalScrollChainingEnabled="False">
                <GridView.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Direction}"/>
                    </DataTemplate>
                </GridView.ItemTemplate>
                <GridView.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapGrid />
                    </ItemsPanelTemplate>
                </GridView.ItemsPanel>
            </GridView>
        </SemanticZoom.ZoomedOutView>
        <SemanticZoom.ZoomedInView>
            <GridView ItemsSource="{Binding Source={StaticResource cvs}}" IsSwipeEnabled="True" ScrollViewer.IsHorizontalScrollChainingEnabled="False">
                <GridView.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Name}" />
                    </DataTemplate>
                </GridView.ItemTemplate>
                <GridView.GroupStyle>
                    <GroupStyle>
                        <GroupStyle.HeaderTemplate>
                            <DataTemplate>
                                <TextBlock Text='{Binding Direction}' />
                            </DataTemplate>
                        </GroupStyle.HeaderTemplate>
                        <GroupStyle.ContainerStyle>
                            <Style TargetType="GroupItem">
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="GroupItem">
                                            <StackPanel Orientation="Vertical">
                                                <ContentPresenter Content="{TemplateBinding Content}" />
                                                <ItemsControl x:Name="ItemsControl" ItemsSource="{Binding Stops}" />
                                            </StackPanel>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </GroupStyle.ContainerStyle>
                    </GroupStyle>
                </GridView.GroupStyle>
                <Button Visibility="Collapsed"/>
            </GridView>
        </SemanticZoom.ZoomedInView>
    </SemanticZoom>

どんなアイデアでも受け入れます。

4

1 に答える 1

0

私は自分でこの問題に遭遇し、いくつかの検索後に解決策を見つけました..おそらくOPには遅すぎますが、同じ問題に遭遇する可能性のある他の人のためにとにかく投稿します.

ItemsPathのプロパティを使用しますCollectionViewSource。詳細についてはmsdnを参照してください。

 <CollectionViewSource 
      x:Name="cvs" 
      IsSourceGrouped="true"
      Source="{Binding Directions}" 
      ItemsPath="Stops" />                    <!-- Add this last bit -->
于 2014-07-25T12:10:13.603 に答える