2011-08-10 18 views
0

我有一個RibbonApplicationMenuItem與SubItems相同的類。子項目由代碼添加。RibbonApplicationMenuItem有錯誤的CurrentItem?

選擇RibbonApplicationMenuItem後,處理click事件時顯示錯誤的currentItem。

CurrentItem始終是我的RibbonApplicationMenuItems集合中的第一個元素。

private void ApplicationOpenPileList_Click(object sender, RoutedEventArgs e) { 
    RibbonApplicationMenuItem SourceApplicationMenu = null; 
    RibbonApplicationMenuItem SenderApplicationMenu = null; 
    Pile currentPile = null; 

    if (e.OriginalSource != null) { 
     if (sender is RibbonApplicationMenuItem && e.OriginalSource is RibbonApplicationMenuItem) { 
      SenderApplicationMenu = sender as RibbonApplicationMenuItem; 
      SourceApplicationMenu = e.OriginalSource as RibbonApplicationMenuItem;    
     }         
    } 
    } 

SourceApplicationMenu包含點擊的MenuItem,但我的連接對象丟失。 SenderApplicationMenu包含一個名爲CurrentItem的屬性的corrospondig ParentMenuItem。

所述事件是在ribbonwindow的XAML代碼分配給主元件:

 <ribbon:Ribbon.ApplicationMenu> 
      <ribbon:RibbonApplicationMenu SmallImageSource="Resources\Icons\Scanner.ico"> 
       <ribbon:RibbonApplicationMenuItem Header="Neu" ImageSource="Resources\Icons\report_add.png"/> 
       <ribbon:RibbonApplicationMenuItem Header="Öffnen" ImageSource="Resources\Icons\open_folder.png" Name="ApplicationOpenPileList" Click="ApplicationOpenPileList_Click" />           
       <ribbon:RibbonApplicationMenuItem Header="Dokumententypen" ImageSource="Resources\Icons\application_form.png" DisplayMemberPath="Name" Click="RibbonApplicationMenuItem_Click" /> 
       <ribbon:RibbonApplicationMenuItem Header="Schließen" ImageSource="Resources\Icons\cross.png"/> 
      </ribbon:RibbonApplicationMenu> 
     </ribbon:Ribbon.ApplicationMenu> 

在這種情況下總是CURRENTITEM包含與correspondig對象的第一子項。 任何想法?

+0

請在您指定事件的地方發帖 – Paparazzi

回答

0

問題很簡單。

SubItems沒有Click事件處理程序,所以事件被路由到上層處理程序。

我現在已經實現了每個項目的處理程序,一切都很好。

相關問題