The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UIElement.AllowDrop Property


Gets or sets a value indicating whether this element can be used as the target of a drag-and-drop operation. This is a dependency property.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

public bool AllowDrop { get; set; }

Property Value

Type: System.Boolean

true if this element can be used as the target of a drag-and-drop operation; otherwise, false. The default value is false.

Drag-and-drop operations are not enabled by default, and must be enabled deliberately by setting AllowDrop to true. Beyond this basic setting, drag-and-drop behavior is entirely implementation specific and is not defined by UIElement or any other base element class. Certain controls, for example, RichTextBox, do have a default behavior. For more information on drag and drop, see Drag and Drop Overview.

FrameworkElement overrides the metadata for this dependency property in its implementation. Specifically, FrameworkElement designates this property to allow property value inheritance (Inherits is true in metadata). Property value inheritance in this context means that if there are child elements with no other value for AllowDrop assigned through local values or styles, the value of the nearest parent element with this value assigned (again, either in styles, by default values, or a local value), then the value from the parent element will be assigned to all previously unassigned child elements by the property system. In practice this means that you can specify whether to allow drop operations at the root element, and that value will propagate to all child elements that have not specifically assigned it as false.

Identifier field


Metadata properties set to true


The following markup example sets the AllowDrop property true using an attribute on a TextBox, as well as setting some other related properties that in aggregate enable that TextBox to be the target of a multiline text data object when it is dragged in. For the complete sample, see .be90d645-dd61-4f53-93bb-87902d086ef7

  AcceptsReturn="True" AcceptsTab="True" 
  BorderThickness="1" BorderBrush="Black" 
  HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"

  PreviewDragOver="ehDragOver" PreviewDrop="ehDrop"

.NET Framework
Available since 3.0
Available since 4.0
Windows Phone Silverlight
Available since 7.1
Return to top
© 2015 Microsoft