2013-03-06 10 views
0

J'ai une liste dans laquelle il y a un nom de calendrier, la date et l'heure qui sont visibles, mais je veux que sur la pression longue d'un élément particulier dans une liste, un menu contextuel s'ouvre dans dont seule la description et le nom d'horaire d'un article particulier sont visibles.Comment lier des données dans le menu contextuel WP7

Donc mon code dans xaml est: d'abord dans la grille il y a une listbox dans laquelle j'ai lié toute la liste listList ansd dans le listbox.itemtemplate et dans le template de donnéesi ai lié l'item particulier au bloc

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <ListBox x:Name="scheduleListbox" ItemsSource="{Binding scheduleList}" Hold="scheduleListbox_Hold" Tap="scheduleListbox_Tap" > 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Vertical" Height="150" Width="460"> 
        <TextBlock x:Name="textBlock1" Text="{Binding ScheduleName}" Foreground="WhiteSmoke" FontSize="32"/> 
        <TextBlock x:Name="textBlock2" Text="{Binding ScheduleDate}" Foreground="Red" Margin="0,10,0,0"/> 
        <StackPanel Orientation="Horizontal" Height="70" Width="460" Hold="StackPanel_Hold"> 
         <TextBlock x:Name="textBlock3" Text="{Binding StartTime}" Margin="0,5,0,0"/> 
         <TextBlock x:Name="textBlock4" Text="{Binding EndTime}" Margin="50,5,0,0"/> 
         <toolkit:ContextMenuService.ContextMenu> 
          <toolkit:ContextMenu x:Name="menuItem" VerticalOffset="100.0" IsZoomEnabled="True" > 

           <toolkit:MenuItem Header="Add to calender" ItemsSource="{Binding ScheduleName }"/> 
           <!--<toolkit:MenuItem Header="Description" ItemsSource="{Binding Description}"/>--> 

          </toolkit:ContextMenu> 
         </toolkit:ContextMenuService.ContextMenu> 
        </StackPanel> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
</Grid> 

Veuillez me dire comment lier la description et le nom du calendrier dans le menu contextuel, soit par code ou par xaml.

Comment lier des données dans le menu contextuel via le code ou via xaml?

Répondre

1

Je crée un menu contextuel de fil d'Ariane avec liaison en utilisant le code ci-dessous. Le code qui devrait vous intéresser est la boîte à outils: ContextMenu.ItemTemplate où vous spécifiez les liaisons. Notez que vous pouvez également lier à un paramètre de commande comme je le fais avec la valeur d'index.

La boîte à outils: section ContextMenu.Template n'est pas nécessaire. J'ai ajouté ceci pour permettre de faire défiler les éléments s'il y en a plus que ce qui convient à l'écran et aussi pour déplacer le menu vers le bas de l'écran.

<toolkit:ContextMenuService.ContextMenu> 
     <toolkit:ContextMenu x:Name="breadCrumbContextMenu" ItemsSource="{Binding CloudViewModel.BreadCrumbMenuItems}" Opened="ContextMenu_Opened" Closed="Breadcrumb_ContextMenu_Closed"> 
      <toolkit:ContextMenu.Template> 
       <ControlTemplate TargetType="toolkit:ContextMenu"> 
        <Border Margin="0,700,0,0" BorderThickness="1" > 
         <ScrollViewer MaxHeight="700"> 
          <ItemsPresenter/> 
         </ScrollViewer> 
        </Border> 
       </ControlTemplate> 
      </toolkit:ContextMenu.Template> 
      <toolkit:ContextMenu.ItemTemplate> 
       <DataTemplate> 
        <toolkit:MenuItem Click="breadcrumbMenuItem_Click" CommandParameter="{Binding Index}" Padding="0"> 
         <toolkit:MenuItem.Header> 
          <StackPanel Orientation="Horizontal" Height="40"> 
           <Image Source="{Binding Image}" Width="40" Height="40" /> 
           <TextBlock Text="{Binding Text}" Margin="24,0,0,0" /> 
          </StackPanel> 
         </toolkit:MenuItem.Header> 
        </toolkit:MenuItem> 
       </DataTemplate> 
      </toolkit:ContextMenu.ItemTemplate> 
     </toolkit:ContextMenu> 
    </toolkit:ContextMenuService.ContextMenu> 
Questions connexes