Canvas
에 여러 모양 (예 : Ellipse
및 Rectangle
)을 넣었습니다. 이제 사용자가 &을 끌어다 놓을 수 있기를 바랍니다. 사용할 수있는 미리 정의 된 기능이 있습니까? 아니면 마우스 이벤트를 사용하여 드래그 & 자신을 드롭해야합니까?캔버스에 끌어서 놓기 모양
감사합니다.
Canvas
에 여러 모양 (예 : Ellipse
및 Rectangle
)을 넣었습니다. 이제 사용자가 &을 끌어다 놓을 수 있기를 바랍니다. 사용할 수있는 미리 정의 된 기능이 있습니까? 아니면 마우스 이벤트를 사용하여 드래그 & 자신을 드롭해야합니까?캔버스에 끌어서 놓기 모양
감사합니다.
마우스 이벤트와 시각적 트리를 사용하여 직접해야한다고 생각합니다. 여기 도움이 될 것이라고 믿는 기사 - link text입니다. 그렇지 않다면 오늘 저녁에 나중에 샘플 코드를 게시 할 수 있습니다.
HTH
마우스 이벤트 처리 및 드래그를 구현 앤 드롭 자신을 것이다 확실히 작동하지만 당신은 당신이 Expression Blend를 동작을 활용할 수 있습니다 무엇을하려고에 따라 달라집니다. Microsoft.Expression.Interactions DLL에는 Silverlight 및 WPF에서 사용되는 유용한 기본 동작, 트리거 및 동작이 포함되어 있습니다.
요소에 기본 드래그 앤 드롭 기능을 구현하는 MouseDragElementBehavior가 있습니다. 이는 레이아웃 컨테이너에 관계없이 작동하므로 (Canvas에 제한되지 않도록) 당신이 좋아하면 직접 XAML에서 혼합을 사용하여 요소에이 동작을 떨어 뜨리거나 그것을 정의 할 수 있습니다 :
<Rectangle Fill="Red" Stroke="Black" HorizontalAlignment="Left" Width="100" Height="100">
<i:Interaction.Behaviors>
<il:MouseDragElementBehavior/>
</i:Interaction.Behaviors>
</Rectangle>
프로젝트 System.Windows.Interactivity.dll 및 Microsoft.Expression.Interactions 모두를 참조해야합니다. dll이 동작을 사용합니다.
편집 (C# 코드 숨김에서이 문제를 부착 보여) :
Rectangle rect = new Rectangle();
rect.Fill = new SolidColorBrush(Colors.Red);
rect.Width = 100;
rect.Height = 100;
MouseDragElementBehavior dragBehavior = new MouseDragElementBehavior();
dragBehavior.Attach(rect);
것은 당신의 using 문을 가진 Microsoft.Expression.Interactivity.Layout 네임 스페이스를 포함해야합니다.
안녕하세요, Expression Blend에 익숙하지 않지만 재미있을 것 같습니다. 사용자가 기하학적 문제 (원, 삼각형, 이등분기 등)를 그릴 수있게 해주는 프로그램을 만들고 있습니다. Shapes가 사용자에 의해 동적으로 생성 되었기 때문에 XAML 대신 C#으로 MouseDragElementBehavior를 설정해야한다고 생각하십니까? C# 샘플 코드를 제공해 주시겠습니까? System.Windows.Interactivity.dll 및 Microsoft.Expression.Interactions.dll을 어떻게 참조해야합니까? 감사합니다. –
Expression Blend 3이 설치되어 있지 않은 경우 DLL을 참조 할 수 있도록 SDK를 다운로드하고 설치해야합니다 (무료). 다음 사이트에서 다운로드 할 수 있습니다. http://www.microsoft.com/downloads/details.aspx?FamilyID=F1AE9A30-4928-411D-970B-E682AB179E17&displaylang=en 행동에 대한 좋은 점 중 하나는 일부를 캡슐화 할 수 있다는 것입니다. UI 비헤이비어 코드를 만든 다음 XAML의 요소에 선언적으로 첨부합니다. 그러나 코드 숨김에서도 동작을 인스턴스화하고 첨부 할 수 있으므로 C#에서 예제를 포함하도록 위의 내용을 편집합니다. –
재미있는 소리 ... "Microsoft Expression Blend 3 SDK"를 다운로드했지만 설치를 시작했을 때 다음 메시지가 나타납니다. "Microsoft Expression Blend 3 SDK를 설치하기 전에 .Net 버전 3.5 또는 최신 런타임 구성 요소를 설치해야합니다. 문제를 해결 한 후 다시 설치하십시오. ". 그러나 "Microsoft .Net Framework 3.5"가 내 컴퓨터에 설치되어 있습니다. 이것으로 충분하지 않습니까? –