IInputElement Interface

Summary

Defines input-related functionality for a control.
Namespace
Avalonia.Input
Interfaces
Implementing Types
graph BT Type-.->Interface0["IInteractive"] click Interface0 "/api/Avalonia.Interactivity/IInteractive" Type-.->Interface1["IVisual"] click Interface1 "/api/Avalonia.VisualTree/IVisual" Type["IInputElement"] class Type type-node Implementing0["TreeViewItem"]-.->Type click Implementing0 "/api/Avalonia.Controls/TreeViewItem" Implementing1["ScrollContentPresenter"]-.->Type click Implementing1 "/api/Avalonia.Controls.Presenters/ScrollContentPresenter" Implementing2["Slider"]-.->Type click Implementing2 "/api/Avalonia.Controls/Slider" Implementing3["AboutAvaloniaDialog"]-.->Type click Implementing3 "/api/Avalonia.Dialogs/AboutAvaloniaDialog" Implementing4["IPanel"]-.->Type click Implementing4 "/api/Avalonia.Controls/IPanel" Implementing5["ContentPresenter"]-.->Type click Implementing5 "/api/Avalonia.Controls.Presenters/ContentPresenter" Implementing6["TextPresenter"]-.->Type click Implementing6 "/api/Avalonia.Controls.Presenters/TextPresenter" Implementing7["DropDown"]-.->Type click Implementing7 "/api/Avalonia.Controls/DropDown" Implementing8["TopLevel"]-.->Type click Implementing8 "/api/Avalonia.Controls/TopLevel" Implementing9["Viewbox"]-.->Type click Implementing9 "/api/Avalonia.Controls/Viewbox" Implementing10["DataGridCellsPresenter"]-.->Type click Implementing10 "/api/Avalonia.Controls.Primitives/DataGridCellsPresenter" Implementing11["DataGridRow"]-.->Type click Implementing11 "/api/Avalonia.Controls/DataGridRow" Implementing12["OverlayLayer"]-.->Type click Implementing12 "/api/Avalonia.Controls.Primitives/OverlayLayer" Implementing13["ContextMenu"]-.->Type click Implementing13 "/api/Avalonia.Controls/ContextMenu" Implementing14["ListBox"]-.->Type click Implementing14 "/api/Avalonia.Controls/ListBox" Implementing15["Separator"]-.->Type click Implementing15 "/api/Avalonia.Controls/Separator" Implementing16["TreeView"]-.->Type click Implementing16 "/api/Avalonia.Controls/TreeView" Implementing17["Polyline"]-.->Type click Implementing17 "/api/Avalonia.Controls.Shapes/Polyline" Implementing18["NumericUpDown"]-.->Type click Implementing18 "/api/Avalonia.Controls/NumericUpDown" Implementing19["ReactiveUserControl<TViewModel>"]-.->Type click Implementing19 "/api/Avalonia.ReactiveUI/ReactiveUserControl_1" Implementing20["Control"]-.->Type click Implementing20 "/api/Avalonia.Controls/Control" Implementing21["ProgressBar"]-.->Type click Implementing21 "/api/Avalonia.Controls/ProgressBar" Implementing22["RangeBase"]-.->Type click Implementing22 "/api/Avalonia.Controls.Primitives/RangeBase" Implementing23["DataValidationErrors"]-.->Type click Implementing23 "/api/Avalonia.Controls/DataValidationErrors" Implementing24["TimePicker"]-.->Type click Implementing24 "/api/Avalonia.Controls/TimePicker" Implementing25["IconElement"]-.->Type click Implementing25 "/api/Avalonia.Controls/IconElement" Implementing26["ComboBox"]-.->Type click Implementing26 "/api/Avalonia.Controls/ComboBox" Implementing27["Path"]-.->Type click Implementing27 "/api/Avalonia.Controls.Shapes/Path" Implementing28["TransitioningContentControl"]-.->Type click Implementing28 "/api/Avalonia.ReactiveUI/TransitioningContentControl" Implementing29["RemoteWidget"]-.->Type click Implementing29 "/api/Avalonia.Controls.Remote/RemoteWidget" Implementing30["DataGridFrozenGrid"]-.->Type click Implementing30 "/api/Avalonia.Controls.Primitives/DataGridFrozenGrid" Implementing31["CheckBox"]-.->Type click Implementing31 "/api/Avalonia.Controls/CheckBox" Implementing32["Shape"]-.->Type click Implementing32 "/api/Avalonia.Controls.Shapes/Shape" Implementing33["OverlayPopupHost"]-.->Type click Implementing33 "/api/Avalonia.Controls.Primitives/OverlayPopupHost" Implementing34["DataGridColumnHeader"]-.->Type click Implementing34 "/api/Avalonia.Controls/DataGridColumnHeader" Implementing35["Carousel"]-.->Type click Implementing35 "/api/Avalonia.Controls/Carousel" Implementing36["HeaderedSelectingItemsControl"]-.->Type click Implementing36 "/api/Avalonia.Controls.Primitives/HeaderedSelectingItemsControl" Implementing37["Track"]-.->Type click Implementing37 "/api/Avalonia.Controls.Primitives/Track" Implementing38["Rectangle"]-.->Type click Implementing38 "/api/Avalonia.Controls.Shapes/Rectangle" Implementing39["DataGridRowHeader"]-.->Type click Implementing39 "/api/Avalonia.Controls.Primitives/DataGridRowHeader" Implementing40["DropDownItem"]-.->Type click Implementing40 "/api/Avalonia.Controls/DropDownItem" Implementing41["Line"]-.->Type click Implementing41 "/api/Avalonia.Controls.Shapes/Line" Implementing42["ViewModelViewHost"]-.->Type click Implementing42 "/api/Avalonia.ReactiveUI/ViewModelViewHost" Implementing43["TitleBar"]-.->Type click Implementing43 "/api/Avalonia.Controls.Chrome/TitleBar" Implementing44["ScrollViewer"]-.->Type click Implementing44 "/api/Avalonia.Controls/ScrollViewer" Implementing45["ReactiveWindow<TViewModel>"]-.->Type click Implementing45 "/api/Avalonia.ReactiveUI/ReactiveWindow_1" Implementing46["SplitView"]-.->Type click Implementing46 "/api/Avalonia.Controls/SplitView" Implementing47["GridSplitter"]-.->Type click Implementing47 "/api/Avalonia.Controls/GridSplitter" Implementing48["ButtonSpinner"]-.->Type click Implementing48 "/api/Avalonia.Controls/ButtonSpinner" Implementing49["Polygon"]-.->Type click Implementing49 "/api/Avalonia.Controls.Shapes/Polygon" Implementing50["TabStrip"]-.->Type click Implementing50 "/api/Avalonia.Controls.Primitives/TabStrip" Implementing51["Calendar"]-.->Type click Implementing51 "/api/Avalonia.Controls/Calendar" Implementing52["IVirtualizingPanel"]-.->Type click Implementing52 "/api/Avalonia.Controls/IVirtualizingPanel" Implementing53["IPresenter"]-.->Type click Implementing53 "/api/Avalonia.Controls.Presenters/IPresenter" Implementing54["Expander"]-.->Type click Implementing54 "/api/Avalonia.Controls/Expander" Implementing55["TabControl"]-.->Type click Implementing55 "/api/Avalonia.Controls/TabControl" Implementing56["NativeControlHost"]-.->Type click Implementing56 "/api/Avalonia.Controls/NativeControlHost" Implementing57["CarouselPresenter"]-.->Type click Implementing57 "/api/Avalonia.Controls.Presenters/CarouselPresenter" Implementing58["UniformGrid"]-.->Type click Implementing58 "/api/Avalonia.Controls.Primitives/UniformGrid" Implementing59["RepeatButton"]-.->Type click Implementing59 "/api/Avalonia.Controls/RepeatButton" Implementing60["ContentControl"]-.->Type click Implementing60 "/api/Avalonia.Controls/ContentControl" Implementing61["LightDismissOverlayLayer"]-.->Type click Implementing61 "/api/Avalonia.Controls.Primitives/LightDismissOverlayLayer" Implementing62["Popup"]-.->Type click Implementing62 "/api/Avalonia.Controls.Primitives/Popup" Implementing63["ItemsControl"]-.->Type click Implementing63 "/api/Avalonia.Controls/ItemsControl" Implementing64["DataGridRowGroupHeader"]-.->Type click Implementing64 "/api/Avalonia.Controls/DataGridRowGroupHeader" Implementing65["DataGridRowsPresenter"]-.->Type click Implementing65 "/api/Avalonia.Controls.Primitives/DataGridRowsPresenter" Implementing66["IItemsPresenter"]-.->Type click Implementing66 "/api/Avalonia.Controls.Presenters/IItemsPresenter" Implementing67["ExperimentalAcrylicBorder"]-.->Type click Implementing67 "/api/Avalonia.Controls/ExperimentalAcrylicBorder" Implementing68["Button"]-.->Type click Implementing68 "/api/Avalonia.Controls/Button" Implementing69["DrawingPresenter"]-.->Type click Implementing69 "/api/Avalonia.Controls/DrawingPresenter" Implementing70["Label"]-.->Type click Implementing70 "/api/Avalonia.Controls/Label" Implementing71["TimePickerPresenter"]-.->Type click Implementing71 "/api/Avalonia.Controls/TimePickerPresenter" Implementing72["NotificationCard"]-.->Type click Implementing72 "/api/Avalonia.Controls.Notifications/NotificationCard" Implementing73["AutoCompleteBox"]-.->Type click Implementing73 "/api/Avalonia.Controls/AutoCompleteBox" Implementing74["AutoCompleteBox.BindingEvaluator<T>"]-.->Type click Implementing74 "/api/Avalonia.Controls/BindingEvaluator_1" Implementing75["InputElement"]-.->Type click Implementing75 "/api/Avalonia.Input/InputElement" Implementing76["Panel"]-.->Type click Implementing76 "/api/Avalonia.Controls/Panel" Implementing77["RelativePanel"]-.->Type click Implementing77 "/api/Avalonia.Controls/RelativePanel" Implementing78["ItemsRepeater"]-.->Type click Implementing78 "/api/Avalonia.Controls/ItemsRepeater" Implementing79["DockPanel"]-.->Type click Implementing79 "/api/Avalonia.Controls/DockPanel" Implementing80["CalendarButton"]-.->Type click Implementing80 "/api/Avalonia.Controls.Primitives/CalendarButton" Implementing81["Canvas"]-.->Type click Implementing81 "/api/Avalonia.Controls/Canvas" Implementing82["TabItem"]-.->Type click Implementing82 "/api/Avalonia.Controls/TabItem" Implementing83["MenuFlyoutPresenter"]-.->Type click Implementing83 "/api/Avalonia.Controls/MenuFlyoutPresenter" Implementing84["ItemsPresenter"]-.->Type click Implementing84 "/api/Avalonia.Controls.Presenters/ItemsPresenter" Implementing85["NativeMenuBar"]-.->Type click Implementing85 "/api/Avalonia.Controls/NativeMenuBar" Implementing86["ToggleSwitch"]-.->Type click Implementing86 "/api/Avalonia.Controls/ToggleSwitch" Implementing87["EmbeddableControlRoot"]-.->Type click Implementing87 "/api/Avalonia.Controls.Embedding/EmbeddableControlRoot" Implementing88["HeaderedContentControl"]-.->Type click Implementing88 "/api/Avalonia.Controls.Primitives/HeaderedContentControl" Implementing89["TemplatedControl"]-.->Type click Implementing89 "/api/Avalonia.Controls.Primitives/TemplatedControl" Implementing90["PickerPresenterBase"]-.->Type click Implementing90 "/api/Avalonia.Controls.Primitives/PickerPresenterBase" Implementing91["DateTimePickerPanel"]-.->Type click Implementing91 "/api/Avalonia.Controls.Primitives/DateTimePickerPanel" Implementing92["Thumb"]-.->Type click Implementing92 "/api/Avalonia.Controls.Primitives/Thumb" Implementing93["IContentControl"]-.->Type click Implementing93 "/api/Avalonia.Controls/IContentControl" Implementing94["TabStripItem"]-.->Type click Implementing94 "/api/Avalonia.Controls.Primitives/TabStripItem" Implementing95["ToolTip"]-.->Type click Implementing95 "/api/Avalonia.Controls/ToolTip" Implementing96["VisualLayerManager"]-.->Type click Implementing96 "/api/Avalonia.Controls.Primitives/VisualLayerManager" Implementing97["CalendarItem"]-.->Type click Implementing97 "/api/Avalonia.Controls.Primitives/CalendarItem" Implementing98["ScrollBar"]-.->Type click Implementing98 "/api/Avalonia.Controls.Primitives/ScrollBar" Implementing99["MenuBase"]-.->Type click Implementing99 "/api/Avalonia.Controls/MenuBase" Implementing100["DataGrid"]-.->Type click Implementing100 "/api/Avalonia.Controls/DataGrid" Implementing101["Spinner"]-.->Type click Implementing101 "/api/Avalonia.Controls/Spinner" Implementing102["IContentPresenter"]-.->Type click Implementing102 "/api/Avalonia.Controls.Presenters/IContentPresenter" Implementing103["DataGridColumnHeadersPresenter"]-.->Type click Implementing103 "/api/Avalonia.Controls.Primitives/DataGridColumnHeadersPresenter" Implementing104["UserControl"]-.->Type click Implementing104 "/api/Avalonia.Controls/UserControl" Implementing105["RadioButton"]-.->Type click Implementing105 "/api/Avalonia.Controls/RadioButton" Implementing106["CaptionButtons"]-.->Type click Implementing106 "/api/Avalonia.Controls.Chrome/CaptionButtons" Implementing107["DatePickerPresenter"]-.->Type click Implementing107 "/api/Avalonia.Controls/DatePickerPresenter" Implementing108["ChromeOverlayLayer"]-.->Type click Implementing108 "/api/Avalonia.Controls.Primitives/ChromeOverlayLayer" Implementing109["DatePicker"]-.->Type click Implementing109 "/api/Avalonia.Controls/DatePicker" Implementing110["RoutedViewHost"]-.->Type click Implementing110 "/api/Avalonia.ReactiveUI/RoutedViewHost" Implementing111["AccessText"]-.->Type click Implementing111 "/api/Avalonia.Controls.Primitives/AccessText" Implementing112["PopupRoot"]-.->Type click Implementing112 "/api/Avalonia.Controls.Primitives/PopupRoot" Implementing113["ReversibleStackPanel"]-.->Type click Implementing113 "/api/Avalonia.Controls/ReversibleStackPanel" Implementing114["Decorator"]-.->Type click Implementing114 "/api/Avalonia.Controls/Decorator" Implementing115["IInputRoot"]-.->Type click Implementing115 "/api/Avalonia.Input/IInputRoot" Implementing116["CalendarDayButton"]-.->Type click Implementing116 "/api/Avalonia.Controls.Primitives/CalendarDayButton" Implementing117["AdornerLayer"]-.->Type click Implementing117 "/api/Avalonia.Controls.Primitives/AdornerLayer" Implementing118["ToggleButton"]-.->Type click Implementing118 "/api/Avalonia.Controls.Primitives/ToggleButton" Implementing119["TickBar"]-.->Type click Implementing119 "/api/Avalonia.Controls/TickBar" Implementing120["LayoutTransformControl"]-.->Type click Implementing120 "/api/Avalonia.Controls/LayoutTransformControl" Implementing121["ITextInputMethodRoot"]-.->Type click Implementing121 "/api/Avalonia.Input.TextInput/ITextInputMethodRoot" Implementing122["TextBox"]-.->Type click Implementing122 "/api/Avalonia.Controls/TextBox" Implementing123["ComboBoxItem"]-.->Type click Implementing123 "/api/Avalonia.Controls/ComboBoxItem" Implementing124["CalendarDatePicker"]-.->Type click Implementing124 "/api/Avalonia.Controls/CalendarDatePicker" Implementing125["SelectingItemsControl"]-.->Type click Implementing125 "/api/Avalonia.Controls.Primitives/SelectingItemsControl" Implementing126["ItemsPresenterBase"]-.->Type click Implementing126 "/api/Avalonia.Controls.Presenters/ItemsPresenterBase" Implementing127["TextBlock"]-.->Type click Implementing127 "/api/Avalonia.Controls/TextBlock" Implementing128["IControl"]-.->Type click Implementing128 "/api/Avalonia.Controls/IControl" Implementing129["Window"]-.->Type click Implementing129 "/api/Avalonia.Controls/Window" Implementing130["WrapPanel"]-.->Type click Implementing130 "/api/Avalonia.Controls/WrapPanel" Implementing131["PathIcon"]-.->Type click Implementing131 "/api/Avalonia.Controls/PathIcon" Implementing132["HeaderedItemsControl"]-.->Type click Implementing132 "/api/Avalonia.Controls.Primitives/HeaderedItemsControl" Implementing133["IMenuElement"]-.->Type click Implementing133 "/api/Avalonia.Controls/IMenuElement" Implementing134["DataGridDetailsPresenter"]-.->Type click Implementing134 "/api/Avalonia.Controls.Primitives/DataGridDetailsPresenter" Implementing135["WindowBase"]-.->Type click Implementing135 "/api/Avalonia.Controls/WindowBase" Implementing136["Grid"]-.->Type click Implementing136 "/api/Avalonia.Controls/Grid" Implementing137["DataGridCell"]-.->Type click Implementing137 "/api/Avalonia.Controls/DataGridCell" Implementing138["ListBoxItem"]-.->Type click Implementing138 "/api/Avalonia.Controls/ListBoxItem" Implementing139["Ellipse"]-.->Type click Implementing139 "/api/Avalonia.Controls.Shapes/Ellipse" Implementing140["Border"]-.->Type click Implementing140 "/api/Avalonia.Controls/Border" Implementing141["StackPanel"]-.->Type click Implementing141 "/api/Avalonia.Controls/StackPanel" Implementing142["Menu"]-.->Type click Implementing142 "/api/Avalonia.Controls/Menu" Implementing143["VirtualizingStackPanel"]-.->Type click Implementing143 "/api/Avalonia.Controls/VirtualizingStackPanel" Implementing144["WindowNotificationManager"]-.->Type click Implementing144 "/api/Avalonia.Controls.Notifications/WindowNotificationManager" Implementing145["Image"]-.->Type click Implementing145 "/api/Avalonia.Controls/Image" Implementing146["IMenuItem"]-.->Type click Implementing146 "/api/Avalonia.Controls/IMenuItem" Implementing147["FlyoutPresenter"]-.->Type click Implementing147 "/api/Avalonia.Controls/FlyoutPresenter" Implementing148["IMenu"]-.->Type click Implementing148 "/api/Avalonia.Controls/IMenu" Implementing149["MenuItem"]-.->Type click Implementing149 "/api/Avalonia.Controls/MenuItem"

Syntax

public interface IInputElement : IInteractive, IVisual

Events

Name Type Summary
GotFocus EventHandler<GotFocusEventArgs>
Occurs when the control receives focus.
KeyDown EventHandler<KeyEventArgs>
Occurs when a key is pressed while the control has focus.
KeyUp EventHandler<KeyEventArgs>
Occurs when a key is released while the control has focus.
LostFocus EventHandler<RoutedEventArgs>
Occurs when the control loses focus.
PointerEnter EventHandler<PointerEventArgs>
Occurs when the pointer enters the control.
PointerLeave EventHandler<PointerEventArgs>
Occurs when the pointer leaves the control.
PointerMoved EventHandler<PointerEventArgs>
Occurs when the pointer moves over the control.
PointerPressed EventHandler<PointerPressedEventArgs>
Occurs when the pointer is pressed over the control.
PointerReleased EventHandler<PointerReleasedEventArgs>
Occurs when the pointer is released over the control.
PointerWheelChanged EventHandler<PointerWheelEventArgs>
Occurs when the mouse wheel is scrolled over the control.
TextInput EventHandler<TextInputEventArgs>
Occurs when a user typed some text while the control has focus.

Properties

Name Value Summary
Cursor Cursor?
Gets or sets the associated mouse cursor.
Focusable bool
Gets or sets a value indicating whether the control can receive keyboard focus.
IsEffectivelyEnabled bool
Gets a value indicating whether this control and all its parents are enabled.
IsEnabled bool
Gets or sets a value indicating whether the control is enabled for user interaction.
IsFocused bool
Gets a value indicating whether the control is focused.
IsHitTestVisible bool
Gets a value indicating whether the control is considered for hit testing.
IsKeyboardFocusWithin bool
Gets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements.
IsPointerOver bool
Gets a value indicating whether the pointer is currently over the control.
KeyBindings List<KeyBinding>
Gets the key bindings for the element.

Methods

Name Value Summary
Focus() void
Focuses the control.

Extension Methods

Name Value Summary
AddDisposableHandler<TEventArgs>(RoutedEvent<TEventArgs>, EventHandler<TEventArgs>, RoutingStrategies, bool) IDisposable
Adds a handler for the specified routed event and returns a disposable that can terminate the event subscription.
CalculateDistanceFromAncestor(IVisual) int
Calculates the distance from a visual's ancestor.
FindAncestorOfType<T>(bool) T
Finds first ancestor of given type.
FindCommonVisualAncestor(IVisual) IVisual
Tries to get the first common ancestor of two visuals.
FindDescendantOfType<T>(bool) T
Finds first descendant of given type.
GetInputElementsAt(Point) IEnumerable<IInputElement>
Returns the active input elements at a point on an IInputElement.
GetObservable<TEventArgs>(RoutedEvent<TEventArgs>, RoutingStrategies, bool) IObservable<TEventArgs>
Gets an observable for a RoutedEvent<TEventArgs>.
GetSelfAndVisualAncestors() IEnumerable<IVisual>
Enumerates an IVisual and its ancestors in the visual tree.
GetSelfAndVisualDescendants() IEnumerable<IVisual>
Enumerates an IVisual and its descendants in the visual tree.
GetVisualAncestors() IEnumerable<IVisual>
Enumerates the ancestors of an IVisual in the visual tree.
GetVisualAt(Point) IVisual
Gets the first visual in the visual tree whose bounds contain a point.
GetVisualAt(Point, Func<IVisual, bool>) IVisual
Gets the first visual in the visual tree whose bounds contain a point.
GetVisualChildren() IEnumerable<IVisual>
Enumerates the children of an IVisual in the visual tree.
GetVisualDescendants() IEnumerable<IVisual>
Enumerates the descendants of an IVisual in the visual tree.
GetVisualParent() IVisual
Gets the visual parent of an IVisual.
GetVisualParent<T>() T
Gets the visual parent of an IVisual.
GetVisualRoot() IRenderRoot
Gets the root visual for an IVisual.
GetVisualsAt(Point) IEnumerable<IVisual>
Enumerates the visible visuals in the visual tree whose bounds contain a point.
GetVisualsAt(Point, Func<IVisual, bool>) IEnumerable<IVisual>
Enumerates the visuals in the visual tree whose bounds contain a point.
HitTestCustom(Point) bool
InputHitTest(Point) IInputElement?
Returns the topmost active input element at a point on an IInputElement.
InputHitTest(Point, Func<IVisual, bool>) IInputElement?
Returns the topmost active input element at a point on an IInputElement.
IsVisualAncestorOf(IVisual) bool
Tests whether an IVisual is an ancestor of another visual.
PointToClient(PixelPoint) Point
Converts a point from screen to client coordinates.
PointToScreen(Point) PixelPoint
Converts a point from client to screen coordinates.
TransformToVisual(IVisual) Matrix?
Returns a transform that transforms the visual's coordinates into the coordinates of the specified to.
TranslatePoint(Point, IVisual) Point?
Translates a point relative to this visual to coordinates that are relative to the specified visual.