0

HubSection内に aを構成する次のコードがありますHub

            <HubSection DataContext="{Binding Path=[0], Source={StaticResource groupedItemsViewSource}}" Padding="40,30,40,0">
            <HubSection.Background>
                <ImageBrush ImageSource="Images/BG.jpg" Stretch="UniformToFill" />
            </HubSection.Background>
            <HubSection.Header>
                <TextBlock x:Uid="Section1Header" TextLineBounds="TrimToBaseline" OpticalMarginAlignment="TrimSideBearings" Text="English"/>
            </HubSection.Header>
            <DataTemplate>
                <GridView
                    x:Name="itemGridView1"
                    Margin="-4,-4,0,0"
                    AutomationProperties.AutomationId="ItemGridView"
                    AutomationProperties.Name="Items In Group"
                    ItemsSource="{Binding Items}"
                    ItemTemplate="{StaticResource Standard240x320ItemTemplate}"
                    SelectionMode="Single"
                    IsSwipeEnabled="false"
                    IsItemClickEnabled="True"
                    ItemClick="ItemView_ItemClick">
                </GridView>
            </DataTemplate>
        </HubSection>

AppBar もセットアップしましたが、HubSection で選択されているものを AppBar に伝える方法がわかりません。

お知らせ下さい。

itemGridView1.selectedItem編集:明確にするために、 「現在のコンテキストには存在しない」と言われているなど、コードの実装に関する問題に直面しています。

4

1 に答える 1

2

この問題に関するアドバイスのほとんどは、フレームのビジュアル ツリーを反復処理することに集中していますが、XAML ハブ セクションではうまく機能していないようです。

代わりに、GridView に SelectionChanged イベントを実装します。これがトリガーされると、GridView 送信者の詳細が送信され、.SelectedItem などの追加情報を参照できます。

private void GridViewName_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var GridState = sender as GridView;
    if(GridState.SelectedItems.Count>0)
    {
        // Do something
    }
}
于 2013-11-14T13:25:48.693 に答える