2017-10-13 4 views
0

Je transfère du code Win RT vers UWP. L'une des pages qui ne fonctionne pas comme prévu est le HubPage.Le modèle d'en-tête de page du concentrateur ne fonctionne pas comme prévu

J'ai un bouton dans le HubSectionHeaderTemplate qui devrait remplacer le "voir plus" HyperLink. Mon bouton dans mon modèle apparaît mais n'accepte pas les clics.

La documentation indique que je devrais être en mesure de remplacer le lien hypertexte «voir plus» avec mon propre modèle, je crois que c'est ce que fait mon code mais ne fonctionne pas. Je ne suis pas sûr quelle valeur IsHeaderInteractive devrait être si j'ai essayé de remplacer le HubSectionHeaderTemplate. Toute aide apprecaited

<Page 
    x:Class="Hub_Page.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:Hub_Page" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d"> 

    <Page.Resources> 
     <Style TargetType="HubSection"> 
      <Setter Property="HeaderTemplate"> 
       <Setter.Value> 
        <DataTemplate> 
         <Button Content="This doesn't click!" 
           Background="DarkCyan" Tapped="UIElement_OnTapped"/> 
        </DataTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </Page.Resources> 

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 

     <Grid x:Name="outerGrid"> 
      <Grid x:Name="innerGrid" 
       VerticalAlignment="Top"> 
       <Hub x:Name="hub" SectionHeaderClick="Hub_OnSectionHeaderClick" > 
        <Hub.Header> 
         <!-- Back button and page title --> 
         <Grid> 
          <StackPanel Margin="13,0,20,0" Orientation="Horizontal"> 
           <Button x:Name="backButton" Margin="0,0,20,0"/> 
           <TextBlock Text="x Manage Playlists" Margin="0,0,10,5" HorizontalAlignment="Left"/> 
           <Button Content="This does click" 
             Background="DarkGray" Tapped="UIElement_OnTapped"/> 
          </StackPanel> 
         </Grid> 
        </Hub.Header> 

        <!-- Playlists section --> 
        <HubSection Header="x Playlists" IsHeaderInteractive="True" > 
         <DataTemplate> 
          <ListView x:Name="playlistListView" 
            HorizontalAlignment="Stretch" 
            VerticalAlignment="Top" 
            SelectionMode="Single"> 
           <ListView.ItemContainerStyle> 
            <Style TargetType="ListViewItem"> 
             <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
            </Style> 
           </ListView.ItemContainerStyle> 
           <ListView.ItemTemplate> 
            <DataTemplate> 
             <!-- A playlist --> 
             <Grid HorizontalAlignment="Stretch"> 
              <StackPanel Margin="10" Orientation="Vertical" HorizontalAlignment="Stretch" MaxWidth="500"> 
               <TextBlock Text="{Binding Name}" TextTrimming="WordEllipsis" /> 
              </StackPanel> 
             </Grid> 
            </DataTemplate> 
           </ListView.ItemTemplate> 
          </ListView> 
         </DataTemplate> 
        </HubSection> 
       </Hub> 
      </Grid> 
     </Grid> 
    </Grid> 
</Page> 

Répondre

0

C'est par conception. Vous pouvez créer votre propre bouton HubSection par vous-même. Par exemple comme suit:

<HubSection> 
    <DataTemplate> 
      <StackPanel> 
       <Button Content="Header" Click="Button_Click" Margin="0 0 0 10"></Button> 
       <TextBlock Text="here is content."></TextBlock> 
      </StackPanel> 
    </DataTemplate> 
</HubSection>