2014-08-31 32 views
0

我想将上下文菜单附加到旋转图像(例如90度)。 它可以工作,但是当出现上下文菜单时,图像会向右移动。有时它几乎完全脱离屏幕,有时不是,取决于它的原始位置。 问题:使用rotatetransform中断布局的图像上下文菜单

enter image description here

,这是它的外观没有上下文菜单:

enter image description here

图像是当然的缩放。 这里是产生此相关代码:

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,尽可能更新。

回答

2

问题是上下文菜单的“缩小”功能。 它似乎只是删除了一些适用于基本上任何元素的转换。我还没有找到任何其他的解决方法,除了禁用缩放,在XAML或代码中使用IsZoomEnabled = false。

我希望它可以帮助别人!