|
|
|
|
|
Home
»
WPF
»
Drag and Drop operation in WPF
|
|
|
|
Author Rank :
|
|
|
Page Views :
|
1604
|
|
Downloads :
|
14
|
|
Rating :
|
Rate it
|
|
Level :
|
Beginner
|
|
|
|
|
Download
Files:
|
|
|
|
|
|
|
|
|
|
|
|
Drag and Drop:
Drag-and-drop operations consider two parts a drag source from which the dragged
object originates and a drop target which receives the dropped object. The drag
source and drop target may be the same application or a different application.
you can say it as a shortcut for advanced users, rather than a standard way of
working. The all methods and events that is used for drag and drop operation are
available in the System.Windows.DragDrop class and then used by other classes
like UIElements.
Basically the Drag and Drop operation called complete after
finishing the three steps these steps are:
-
First step: The Drag and Drop operation begins start
when you click an element and holds the mouse button down.
-
Second step: When you moves the mouse over another
element. If this element can accept the type of content that's being
dragged, the mouse cursor changes to a drag-and-drop icon. Otherwise, the
mouse cursor becomes a circle with a line drawn through it.
Third step: When you releases the mouse key, the
information is receives by the element.
Example of the Drag and Drop
operation
Xaml Code
<Window
x:Class="TestDragDropTreeView.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Drag-and-Drop
TreeView Example"
Height="300"
Width="300"
x:Name="TheWindow">
<TreeView
ItemsSource="{Binding
Path=Stuff,ElementName=TheWindow}"
x:Name="TheTreeView"=
MouseDown="TreeView_MouseDown"
MouseMove="TreeView_MouseMove"
DragEnter="TheTreeView_CheckDropTarget"
DragLeave="TheTreeView_CheckDropTarget"
DragOver="TheTreeView_CheckDropTarget"
Drop="TheTreeView_Drop">
<TreeView.ItemContainerStyle>
<Style
TargetType="{x:Type
TreeViewItem}">
<Setter
Property="AllowDrop"
Value="True"
/>
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate
ItemsSource="{Binding
Path=MoreStuff}">
<TextBlock
Text="{Binding
Path=Name}"
/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Window>
Vb Code
Imports
System.Collections.ObjectModel
Imports
System.Collections.Specialized
Namespace
TestDragDropTreeView
Public Class Stuff
Public
Sub New()
Name = String.Empty
End
Sub
Public
Sub New(ByVal
name As String)
Me.Name = name
End
Sub
''' <summary>
''' The string that will be displayed for this item.
''' </summary>
Public
Property Name() As
String
''' <summary>
''' The parent of this item.
''' </summary>
Public
Property Parent() As
Stuff
''' <summary>
''' The child data for this item.
''' </summary>
Public
ReadOnly Property
MoreStuff() As
ObservableCollection(Of
Stuff)
Get
If _moreStuff Is
Nothing Then
_moreStuff =
New
ObservableCollection(Of
Stuff)()
AddHandler _moreStuff.CollectionChanged,
AddressOf OnMoreStuffChanged
End
If
Return _moreStuff
End
Get
End
Property
Private
Sub OnMoreStuffChanged(ByVal
sender As Object,
ByVal e As
NotifyCollectionChangedEventArgs)
' Note:
This section does not account for multiple items being involved in change
operations.
' Note: This section does not account
for the replace operation.
If
e.Action = NotifyCollectionChangedAction.Add
Then
Dim stuff_Renamed As
Stuff = CType(e.NewItems(0),
Stuff)
stuff_Renamed.Parent =
Me
ElseIf e.Action =
NotifyCollectionChangedAction.Remove
Then
Dim stuff_Renamed As
Stuff = CType(e.OldItems(0),
Stuff)
If
stuff_Renamed.Parent Is
Me Then
stuff_Renamed.Parent = Nothing
End If
End
If
End
Sub
Private _moreStuff
As
ObservableCollection(Of
Stuff)
End
Class
End
Namespace
Output Window

Conclusion
Hope this article helps you to understand the
Drag and Drop operation in WPF.
|
|
Comment Request!
Thank you for reading this post. Please post your feedback, question, or comments about this post
Here.
|
|
|
|
|
Login
to add your contents and source code to this article
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional
consulting company, our consultants are well-known experts in .NET and many of them
are MVPs, authors, and trainers. We specialize in Microsoft .NET development and
utilize Agile Development and Extreme Programming practices to provide fast pace
quick turnaround results. Our software development model is a mix of Agile Development,
traditional SDLC, and Waterfall models.
|
|
Click here to learn more about C# Consulting. |
|
|
|
|
|
|
|
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon.
Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees.
As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
|
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
|
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
|
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
|
|
|
|
|
|
|
|
|
|
|
|
|