我想将上下文菜单附加到旋转的图像(例如90度)。
它可以工作,但当上下文菜单出现时,图像会向右移动。有时它几乎完全脱离屏幕,有时则不然,这取决于它的原始位置。
问题是:
这是没有上下文菜单时的外观:
图像当然是缩放的。
以下是生成此代码的相关代码:
Canvas _can = new Canvas();
_can.Width = 480;
_can.Height = 260;
Image _resImg = new Image();
BitmapImage bimp = new BitmapImage();
properOrient = 1;
bimp = GetImageFromIsolatedStorage("new" + step.ToString() + ".jpg");
_resImg.Source = bimp;
_resImg.Height = 260;
_resImg.Width = 260;
_resImg.Stretch = Stretch.UniformToFill;
RotateTransform _rT = new RotateTransform();
_rT.Angle = 0;
if (properOrient == 6)
_rT.Angle = 90;
if (properOrient == 3)
_rT.Angle = 180;
_rT.CenterX = 130;
_rT.CenterY = 130;
_resImg.RenderTransform = _rT;
_resImg.Margin = new Thickness(0, 0, 0, 0);
ContextMenu _cms = new ContextMenu();
MenuItem _mitm = new MenuItem() {
Header = AppResources.ResourceManager.GetString("ApplicationBarDelete", AppResources.Culture),
Tag = "delete"
};
_cms.Items.Add(_mitm);
ContextMenuService.SetContextMenu(_resImg, _cms);
_can.Children.Add(_resImg);
知道这是什么原因吗?
如果旋转角度设置为0,则问题仍会发生。
如果未应用rotateTransform,则一切正常工作。
该设备是HTC 8s,尽可能更新。