2014-03-03 28 views
0

我有一個longlistselector並使用contextmenu。使用NavigationService時遇到問題。longlistselector上下文菜單NavigationService錯誤的項目

對於每個列表項目都有一個上下文菜單來刪除或編輯該項目,並且似乎對預先存在的項目列表正常工作。
但是,如果我添加一個新人,添加一個新項目給該人員,編輯它,然後添加另一個項目,當我嘗試編輯第二個項目時,選擇第一個項目。

是一個錯誤?

我的XAML代碼如下所示:

<DataTemplate x:Key="LongListSelectorItemTemplate"> 
     <StackPanel Orientation="Horizontal" Margin="4,4"> 
      <toolkit:ContextMenuService.ContextMenu> 
       <toolkit:ContextMenu cal:Action.TargetWithoutContext="{Binding DataContext, ElementName=LayoutRoot}"> 
        <toolkit:MenuItem Header="Edit" cal:Message.Attach="[Event Tap] = [Action ContextMenuEdit_EventTap($datacontext)]" /> 
        <toolkit:MenuItem Header="Delete" cal:Message.Attach="[Event Tap] = [Action ContextMenuDelete_EventTap($datacontext)]" /> 
       </toolkit:ContextMenu> 
      </toolkit:ContextMenuService.ContextMenu> 
      <TextBlock Text="{Binding Name}" /> 
      <TextBlock Text="{Binding Name2}" /> 
     </StackPanel> 
    </DataTemplate> 

回答

2

我不知道如果這是你的問題的解決方案,但我有一個同類型的問題,這對我的作品。

添加一個名字的PhoneApplicationPage(XAML中的頂部)

<phone:PhoneApplicationPage 
...... 
Your settings 
...... 
x:Name="Page"> 

而更改此代碼:

<toolkit:ContextMenu cal:Action.TargetWithoutContext="{Binding DataContext, ElementName=LayoutRoot}"> 

進入這個:

<toolkit:ContextMenu cal:Action.TargetWithoutContext="{Binding ElementName=Page, Path=DataContext}">