MSDN Drag & Drop 샘플 : http://msdn.microsoft.com/en-us/library/cc189066(VS.96).aspx HitTest를 이용해서 오브젝트 추적 : http://nickssoftwareblog.com/2008/10/07/silverlight-20-in-examples-part-drag-and-drop-inside-out/public partial class Page : UserControl { bool isDragging = false; Point offset; // ... }void theDragon_MouseLeftButtonDown(object sender,
MouseButtonEventArgs e)
{
// Mark that we're doing a drag
isDragging = true;
// Ensure that the mouse can't leave the dragon
theDragon.CaptureMouse();
// Determine where the mouse 'grabbed'
// to use during MouseMove
offset = e.GetPosition(theDragon);
}
void theDragon_MouseMove(object sender, MouseEventArgs e)
{
if (isDragging)
{
// Where is the mouse now?
Point newPosition = e.GetPosition(LayoutRoot);
info.Text = string.Concat("Position: ",
newPosition.X,
" x ",
newPosition.Y);
// Move the dragon via the new position less the offset
theDragon.SetValue(Canvas.LeftProperty,
newPosition.X - offset.X);
theDragon.SetValue(Canvas.TopProperty,
newPosition.Y - offset.Y);
}
}
void theDragon_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (isDragging) { // Turn off Drag and Drop isDragging = false; // Free the Mouse theDragon.ReleaseMouseCapture(); } }
드래그엔드롭 매니저 : http://www.codeplex.com/silverlightdragdrop
'실버라이트3' 카테고리의 다른 글
| 시간과 색상 데이터 생성, TimeSpan & Color (0) | 2009/05/12 |
|---|---|
| 코드로 만드는 애니메이션 (0) | 2009/05/12 |
| Timer 클래스 구현 (0) | 2009/05/12 |
| 마우스 Drag & Drop(드래그 엔 드롭)의 구현 (0) | 2009/05/12 |




