我有以下代码将上下文菜单添加到 UI 上的文本框。用户应该能够调出上下文菜单并选择要使用的新单位。因此,我的视图模型中的 CurrentUnits 方法绑定到了文本框。我想要一个由所有潜在单位填充的上下文菜单。所以我的视图模型中的方法 Units 返回一个单位选项的字符串 [];例如英寸、厘米、英尺、米等。当用户选择其中一项时,将调用 NewUnits_Click 方法。一切正常,但是当用户选择菜单选项时上下文菜单不会消失。然后按应用程序菜单栏等屏幕上的其他位置将其清除。有没有其他人看到这个问题,或者看到下面的代码有问题。它似乎与我拥有的 ItemTemplate/DataTemplate 有关,
<TextBlock Width="100" Text="{Binding CurrentUnits}" TextAlignment="Right">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu ItemsSource="{Binding Units}">
<toolkit:ContextMenu.ItemTemplate>
<DataTemplate>
<toolkit:MenuItem Header="{Binding}" Click="NewUnits_Click" />
</DataTemplate>
</toolkit:ContextMenu.ItemTemplate>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</TextBlock>