У меня есть контекстное меню, которое определено как ресурс и связано с SelectedItem в DataGrid, используя конвертер для получения отображаемого имени текущего элемента, как в «Редактировать» или «Редактировать»
Он отлично работает для первого выбранного элемента, но не вызывает конвертер для второго (у меня есть точка останова, которая попадает только при первом проходе). НО, если я вызову связанную команду на втором проходе, она вызывает новый выбранный экземпляр, как и должно быть.
Я использую эту технику с другими ItemsControls и не могу обнаружить ничего плохого. Есть идеи?
Приветствия
Berryl
Ресурс и привязка
<ContextMenu x:Key="ProjectActivityContextMenu" x:Shared="true">
...
<MenuItem Header="{Binding SelectedProjectActivity, Converter={StaticResource DeleteProjectConv}}" Command="{Binding DeleteCommand}" />
</ContextMenu>
Электропроводка
<DataGrid ...
SelectedItem="{Binding SelectedProjectActivity}"
IsSynchronizedWithCurrentItem="True"
ContextMenu="{DynamicResource ProjectActivityContextMenu}"
>
UPDATE
Это также происходит, если я объявлю это как часть сетки, как:
<DataGrid.ContextMenu>
<ContextMenu >
....
<MenuItem Header="{Binding SelectedProjectActivity, Converter={StaticResource DeleteProjectConv}}" Command="{Binding DeleteCommand}" />
</ContextMenu>
</DataGrid.ContextMenu>