RibbonApplicationMenuItem有错误的CurrentItem?

时间:2011-08-10 15:05:17

标签: c# wpf ribbon currentitem

我有一个带有同一种SubItems的RibbonApplicationMenuItem。 SubItems由Code添加。

选择RibbonApplicationMenuItem后,在处理点击事件时会显示错误的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包含corrospondig ParentMenuItem,其中包含一个名为CurrentItem的属性。

事件在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始终包含带有对应对象的第一个SubItem。 任何想法?

1 个答案:

答案 0 :(得分:0)

问题很简单。

SubItems没有Click事件处理程序,因此事件被路由到上层处理程序。

我现在已经为每个Item实现了处理程序,一切都很好。