ContextMenu, предоставляемый Silverlight 4 Toolkit, работал прекрасно, пока я не реализовал
<code><RenderTransform
> в моем XAML, чтобы масштабирование приложения Silverlight соответствовало всему окну браузера (следуя этому небольшому учебнику)
Когда все работало отлично, перед обучением мой XAML выглядел так:
<UserControl>
<Grid>
<!-- Rest of app here... -->
</Grid>
</UserControl>
Теперь мое приложение выглядит так:
<UserControl>
<Canvas>
<Canvas.RenderTransform>
<ScaleTransform [vars]></ScaleTransform>
</Canvas.RenderTransform>
<Grid>
<!-- Rest of app here... -->
</Grid>
</Canvas>
</UserControl>
Масштабирование работает отлично, но теперь, когда я щелкаю правой кнопкой мыши, ContextMenu не появляется там, где должно (под мышью). Вместо этого он отображается в той же позиции х, что и мышь, но отображается в самом верху приложения. Кроме того, он очень глючный, мне приходится постоянно нажимать, чтобы он исчез, и я не могу щелкнуть правой кнопкой мыши в другом месте, чтобы снова вызвать его, и он не масштабируется вместе с остальной частью приложения.
Что может быть причиной этого? Есть ли правильный способ исправить это, или я должен просто применить смещение к меню, чтобы переместить его на мышь?