UI のテキスト ボックスにコンテキスト メニューを追加する次のコードがあります。ユーザーは、コンテキスト メニューを表示して、使用する新しい単位を選択できるはずです。したがって、ビュー モデルのメソッド CurrentUnits はテキスト ボックスにバインドされます。すべての潜在的なユニットが表示されるコンテキスト メニューが必要です。したがって、私のビュー モデルの Units メソッドは、ユニット オプションの string[] を返します。インチ、cm、フィート、メートルなど。ユーザーがいずれかを選択すると、メソッド NewUnits_Click が呼び出されます。すべて正常に動作しますが、ユーザーがメニュー オプションを選択しても contextmenu は消えません。アプリケーションのメニュー バーなど、画面上の他の場所を押すと、それがクリアされます。他の誰かがこの問題を見たことがありますか、または以下のコードに何か問題がありますか? 私が持っている 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>