2013-02-19 4 views
0

Я хочу добавить контекстное меню в список. Но когда я держу элемент списка, ничего не происходит. Спасибо ..Контекстное меню Windows Phone

Этот код является определением для моего списка. Я добавил контекстное меню в список.

<ListBox Grid.Row="1" Name="chList" ItemsSource="{Binding Ch.Texts}" SelectionChanged="TextChanged" Style="{StaticResource ListOfText}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <toolkit:ContextMenuService.ContextMenu> 
       <toolkit:ContextMenu Name="ContextMenu"> 
        <toolkit:MenuItem Name="Edit" Header="Edit" Click="Edit_Click"/> 
        <toolkit:MenuItem Name="Delete" Header="Delete" Click="Delete_Click"/> 
       </toolkit:ContextMenu> 
      </toolkit:ContextMenuService.ContextMenu> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</Listbox> 

в styles.xaml

<Style x:Key="ListOfText" TargetType="ListBoxItem"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ListBoxItem"> 
       <Border x:Name="RootElement" Padding="{StaticResource PhoneBorderThickness}"> 
        <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="10" /> 
          <ColumnDefinition Width="*" /> 
         </Grid.ColumnDefinitions> 
         <Border Grid.Column="0" Background="{StaticResource PhoneAccentBrush}" 
            Opacity="{Binding IsRead,Converter={StaticResource opacityConverter}}" /> 
         <Grid MinHeight="60" Grid.Column="1"> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="auto" /> 
           <RowDefinition Height="auto" /> 
          </Grid.RowDefinitions> 
          <TextBlock Grid.Row="0" Text="{Binding Title}" TextWrapping="Wrap" 
              Style="{StaticResource PhoneTextTitle3Style}" /> 
          <Grid Grid.Row="1"> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="auto" /> 
            <ColumnDefinition Width="*" /> 
           </Grid.ColumnDefinitions> 
           <TextBlock Grid.Column="0" Text="{Binding PbDate, Converter={StaticResource dateConverter}}" 
               VerticalAlignment="Center" TextWrapping="Wrap" Style="{StaticResource PhoneTextSmallStyle}" /> 
           <Image Grid.Column="1" Height="{StaticResource PhoneFontSizeNormal}" HorizontalAlignment="Left" 
              Visibility="{Binding IsStared,Converter={StaticResource visibilityConverter}}" Source="/Toolkit.Content/favs.png" /> 
          </Grid> 
         </Grid> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

Styles.xaml в mysolution ... но я не могу решить эту проблему ..

Спасибо ...

+0

Я не вижу элемент ContextMenu в вашем XAML. Очевидно, вам нужно добавить его в шаблон элемента, если вы хотите иметь контекстное меню, связанное с каждым 'ListBoxItem'. – Praetorian

+0

Теперь я добавил. Извините ... – user2088305

ответ

0

Вы установив пункт DataTemplate, чтобы быть ContextMenuService.ContextMenu и фактического содержания. На самом деле вам нужно отобразить некоторый контент. Кроме того, есть ли у вас какие-либо элементы в списке?

Переместить ContextMenuService.ContextMenu в один главный шаблон - в настоящее время вы раскалываете его (по неизвестной причине). Удалите объявление DataTemplate в самом управлении ListBox и используйте свой заранее определенный стиль.

+0

listbox привязан к моим источникам и имеет элементы. – user2088305

+0

Вы видите элементы, показанные в самом списке? –

+0

Да, я вижу, но когда я держу элемент, ничего не происходит. – user2088305

Смежные вопросы