2014-08-31 33 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。

我希望它可以幫助別人!