在点击事件后加载WPF应用程序时,功能区应用程序菜单(下拉菜单)没有最小化(关闭或失去焦点)



我有一个包含ribbon的wpf应用程序。功能区有应用程序菜单,这是一个像这个图像的下拉菜单。这个应用程序菜单有最近的文件列表,用于打开这样的文件。现在,当用户从列表中选择一个最近的文件时,这个下拉菜单会卡住,直到文件被加载。如果我像这样在加载文件时同时打开它,这个下拉菜单就会出现在ppt等其他应用程序的顶部。我希望下拉菜单在加载文件时关闭,这样我就可以显示一些进度条或加载图标。

xaml代码如下所示。

<Ribbon>
<Ribbon.ApplicationMenu>
<RibbonApplicationMenu >
<RibbonApplicationMenu.AuxiliaryPaneContent>
<StackPanel>
<TextBlock Text="{DynamicResource Recent}" />
<Separator />
<RibbonGallery
CanUserFilter="False"
ScrollViewer.VerticalScrollBarVisibility="Auto">
<RibbonGalleryCategory Background="Transparent" ItemsSource="{Binding RecentFiles}">
<RibbonGalleryCategory.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel IsItemsHost="True" Orientation="Vertical" />
</ItemsPanelTemplate>
</RibbonGalleryCategory.ItemsPanel>
<RibbonGalleryCategory.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.InputBindings>
<MouseBinding
Command="{Binding DataContext.opencommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding FilePath}"
MouseAction="LeftClick" />
</Grid.InputBindings>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Numero}" TextDecorations="Underline" />
<TextBlock
Grid.Column="1"
Margin="0,0,10,0"
Text="{Binding FileName}"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding FilePath}" />
</Grid>
</DataTemplate>
</RibbonGalleryCategory.ItemTemplate>
</RibbonGalleryCategory>
</RibbonGallery>
</StackPanel>
</RibbonApplicationMenu.AuxiliaryPaneContent>
</RibbonApplicationMenu>
</Ribbon.ApplicationMenu> >
</Ribbon>

有什么想法请帮助我。我试着用丝带按钮代替文本块,但点击事件不起作用。如有任何帮助,不胜感激。

感谢

为Ribbon绑定一个布尔值。IsDropDownOpen,并在加载文件之前将其设置为false。也许你必须使用Dispatcher来使它工作。