0
雖然該標題是一個輕微的謊言,它定義了問題。以編程方式生成的圖像沒有CanvasLeft
我在一個WPF窗口上有一個圖像,其中的根元素是一個Canvas,這個圖像有各種附加的事件處理程序,允許我將它拖到窗口周圍。
這一切都很好,但是當我添加一個新的圖像到畫布'的孩子和綁定相同的事件手杖圖像不會移動。
現在我已經描述了這一點(所有的處理程序綁定都沒問題),並且由於某種原因,我的MouseDownEvent似乎Canvas.GetLeft(((Image)sender))屬性總是NaN。
這是我用來創建代碼/添加新的圖像:
// Just a class inheriting from Image
DraggableMediaItem newItem = new DraggableMediaItem();
Uri uri = new Uri(ofd.FileName, UriKind.Absolute);
BitmapImage icon = new BitmapImage(uri);
newItem.Source = icon;
newItem.PreviewMouseDown += new MouseButtonEventHandler(DragMe_MouseDown);
newItem.PreviewMouseMove += new MouseEventHandler(DragMe_MouseMove);
newItem.PreviewMouseUp += new MouseButtonEventHandler(DragMe_MouseUp);
newItem.TextInput += new TextCompositionEventHandler(DragMe_TextInput);
newItem.LostMouseCapture += new MouseEventHandler(DragMe_LostMouseCapture);
RootCanvas.Children.Add(newItem);
謝謝我知道這一點我有所有的拖/放東西工作正常,通過XAML在畫布上繪製的圖像,但編程添加的onmousedown沒有它的價值 – 2010-07-30 08:21:25
啊我通過你的建議工作。我說好的意識到我需要將其設置第一 – 2010-07-30 08:22:50
供參考:我剛添加這兩個附加行於上述片段 Canvas.SetLeft(的newitem,0); Canvas.SetTop(newItem,0); – 2010-07-30 08:24:00