WpfDrawingElement¶
Namespace: ThinkGeo.UI.Wpf
Provides real‑time drawing capabilities in WPF by aggregating drawing operations.
public class WpfDrawingElement : System.Windows.FrameworkElement, System.Windows.Media.Composition.DUCE+IResource, System.Windows.Media.Animation.IAnimatable, System.Windows.IInputElement, System.Windows.IFrameworkInputElement, System.ComponentModel.ISupportInitialize, System.Windows.Markup.IHaveResources, System.Windows.Markup.IQueryAmbient
Inheritance Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → WpfDrawingElement
Implements IResource, IAnimatable, IInputElement, IFrameworkInputElement, ISupportInitialize, IHaveResources, IQueryAmbient
Properties¶
Style¶
public Style Style { get; set; }
Property Value¶
Style
OverridesDefaultStyle¶
public bool OverridesDefaultStyle { get; set; }
Property Value¶
UseLayoutRounding¶
public bool UseLayoutRounding { get; set; }
Property Value¶
Triggers¶
public TriggerCollection Triggers { get; }
Property Value¶
TriggerCollection
TemplatedParent¶
public DependencyObject TemplatedParent { get; }
Property Value¶
DependencyObject
Resources¶
public ResourceDictionary Resources { get; set; }
Property Value¶
ResourceDictionary
DataContext¶
public object DataContext { get; set; }
Property Value¶
BindingGroup¶
public BindingGroup BindingGroup { get; set; }
Property Value¶
BindingGroup
Language¶
public XmlLanguage Language { get; set; }
Property Value¶
XmlLanguage
Name¶
public string Name { get; set; }
Property Value¶
Tag¶
public object Tag { get; set; }
Property Value¶
InputScope¶
public InputScope InputScope { get; set; }
Property Value¶
InputScope
ActualWidth¶
public double ActualWidth { get; }
Property Value¶
ActualHeight¶
public double ActualHeight { get; }
Property Value¶
LayoutTransform¶
public Transform LayoutTransform { get; set; }
Property Value¶
Transform
Width¶
public double Width { get; set; }
Property Value¶
MinWidth¶
public double MinWidth { get; set; }
Property Value¶
MaxWidth¶
public double MaxWidth { get; set; }
Property Value¶
Height¶
public double Height { get; set; }
Property Value¶
MinHeight¶
public double MinHeight { get; set; }
Property Value¶
MaxHeight¶
public double MaxHeight { get; set; }
Property Value¶
FlowDirection¶
public FlowDirection FlowDirection { get; set; }
Property Value¶
FlowDirection
Margin¶
public Thickness Margin { get; set; }
Property Value¶
Thickness
HorizontalAlignment¶
public HorizontalAlignment HorizontalAlignment { get; set; }
Property Value¶
HorizontalAlignment
VerticalAlignment¶
public VerticalAlignment VerticalAlignment { get; set; }
Property Value¶
VerticalAlignment
FocusVisualStyle¶
public Style FocusVisualStyle { get; set; }
Property Value¶
Style
Cursor¶
public Cursor Cursor { get; set; }
Property Value¶
Cursor
ForceCursor¶
public bool ForceCursor { get; set; }
Property Value¶
IsInitialized¶
public bool IsInitialized { get; }
Property Value¶
IsLoaded¶
public bool IsLoaded { get; }
Property Value¶
ToolTip¶
public object ToolTip { get; set; }
Property Value¶
ContextMenu¶
public ContextMenu ContextMenu { get; set; }
Property Value¶
ContextMenu
Parent¶
public DependencyObject Parent { get; }
Property Value¶
DependencyObject
HasAnimatedProperties¶
public bool HasAnimatedProperties { get; }
Property Value¶
InputBindings¶
public InputBindingCollection InputBindings { get; }
Property Value¶
InputBindingCollection
CommandBindings¶
public CommandBindingCollection CommandBindings { get; }
Property Value¶
CommandBindingCollection
AllowDrop¶
public bool AllowDrop { get; set; }
Property Value¶
DesiredSize¶
public Size DesiredSize { get; }
Property Value¶
Size
IsMeasureValid¶
public bool IsMeasureValid { get; }
Property Value¶
IsArrangeValid¶
public bool IsArrangeValid { get; }
Property Value¶
RenderSize¶
public Size RenderSize { get; set; }
Property Value¶
Size
RenderTransform¶
public Transform RenderTransform { get; set; }
Property Value¶
Transform
RenderTransformOrigin¶
public Point RenderTransformOrigin { get; set; }
Property Value¶
Point
IsMouseDirectlyOver¶
public bool IsMouseDirectlyOver { get; }
Property Value¶
IsMouseOver¶
public bool IsMouseOver { get; }
Property Value¶
IsStylusOver¶
public bool IsStylusOver { get; }
Property Value¶
IsKeyboardFocusWithin¶
public bool IsKeyboardFocusWithin { get; }
Property Value¶
IsMouseCaptured¶
public bool IsMouseCaptured { get; }
Property Value¶
IsMouseCaptureWithin¶
public bool IsMouseCaptureWithin { get; }
Property Value¶
IsStylusDirectlyOver¶
public bool IsStylusDirectlyOver { get; }
Property Value¶
IsStylusCaptured¶
public bool IsStylusCaptured { get; }
Property Value¶
IsStylusCaptureWithin¶
public bool IsStylusCaptureWithin { get; }
Property Value¶
IsKeyboardFocused¶
public bool IsKeyboardFocused { get; }
Property Value¶
IsInputMethodEnabled¶
public bool IsInputMethodEnabled { get; }
Property Value¶
Opacity¶
public double Opacity { get; set; }
Property Value¶
OpacityMask¶
public Brush OpacityMask { get; set; }
Property Value¶
Brush
BitmapEffect¶
public BitmapEffect BitmapEffect { get; set; }
Property Value¶
BitmapEffect
Effect¶
public Effect Effect { get; set; }
Property Value¶
Effect
BitmapEffectInput¶
public BitmapEffectInput BitmapEffectInput { get; set; }
Property Value¶
BitmapEffectInput
CacheMode¶
public CacheMode CacheMode { get; set; }
Property Value¶
CacheMode
Uid¶
public string Uid { get; set; }
Property Value¶
Visibility¶
public Visibility Visibility { get; set; }
Property Value¶
Visibility
ClipToBounds¶
public bool ClipToBounds { get; set; }
Property Value¶
Clip¶
public Geometry Clip { get; set; }
Property Value¶
Geometry
SnapsToDevicePixels¶
public bool SnapsToDevicePixels { get; set; }
Property Value¶
IsFocused¶
public bool IsFocused { get; }
Property Value¶
IsEnabled¶
public bool IsEnabled { get; set; }
Property Value¶
IsHitTestVisible¶
public bool IsHitTestVisible { get; set; }
Property Value¶
IsVisible¶
public bool IsVisible { get; }
Property Value¶
Focusable¶
public bool Focusable { get; set; }
Property Value¶
PersistId¶
public int PersistId { get; }
Property Value¶
IsManipulationEnabled¶
public bool IsManipulationEnabled { get; set; }
Property Value¶
AreAnyTouchesOver¶
public bool AreAnyTouchesOver { get; }
Property Value¶
AreAnyTouchesDirectlyOver¶
public bool AreAnyTouchesDirectlyOver { get; }
Property Value¶
AreAnyTouchesCapturedWithin¶
public bool AreAnyTouchesCapturedWithin { get; }
Property Value¶
AreAnyTouchesCaptured¶
public bool AreAnyTouchesCaptured { get; }
Property Value¶
TouchesCaptured¶
public IEnumerable<TouchDevice> TouchesCaptured { get; }
Property Value¶
TouchesCapturedWithin¶
public IEnumerable<TouchDevice> TouchesCapturedWithin { get; }
Property Value¶
TouchesOver¶
public IEnumerable<TouchDevice> TouchesOver { get; }
Property Value¶
TouchesDirectlyOver¶
public IEnumerable<TouchDevice> TouchesDirectlyOver { get; }
Property Value¶
DependencyObjectType¶
public DependencyObjectType DependencyObjectType { get; }
Property Value¶
DependencyObjectType
IsSealed¶
public bool IsSealed { get; }
Property Value¶
Dispatcher¶
public Dispatcher Dispatcher { get; }
Property Value¶
Dispatcher
Constructors¶
WpfDrawingElement()¶
public WpfDrawingElement()
Methods¶
Clear()¶
Clears all drawing operations and forces a redraw.
public void Clear()
GetColorFromGeoColor(GeoColor)¶
Converts a GeoColor to a WPF Color.
public Color GetColorFromGeoColor(GeoColor geoColor)
Parameters¶
geoColor
GeoColor
Returns¶
Color
AddArc(GeoPen, Single, Single, Single, Single, Single, Single, DrawingLevel)¶
public void AddArc(GeoPen pen, float x, float y, float width, float height, float startAngle, float sweepAngle, DrawingLevel drawingLevel)
Parameters¶
pen
GeoPen
x
Single
y
Single
width
Single
height
Single
startAngle
Single
sweepAngle
Single
drawingLevel
DrawingLevel
AddEllipse(ScreenPointF, Single, Single, GeoPen, GeoBrush, Single, Single)¶
Adds an ellipse drawing operation.
public void AddEllipse(ScreenPointF screenPoint, float width, float height, GeoPen outlinePen, GeoBrush fillBrush, float xOffset, float yOffset)
Parameters¶
screenPoint
ScreenPointF
width
Single
height
Single
outlinePen
GeoPen
fillBrush
GeoBrush
xOffset
Single
yOffset
Single
AddLine(IEnumerable<ScreenPointF>, GeoPen, Single, Single)¶
Adds a line drawing operation that connects the provided screen points.
public void AddLine(IEnumerable<ScreenPointF> screenPoints, GeoPen linePen, float xOffset, float yOffset)
Parameters¶
screenPoints
IEnumerable<ScreenPointF>
linePen
GeoPen
xOffset
Single
yOffset
Single
AddPolygon(IEnumerable<ScreenPointF[]>, GeoPen, GeoBrush, DrawingLevel, Single, Single, PenBrushDrawingOrder)¶
Adds a polygon drawing operation with optional fill and outline.
public void AddPolygon(IEnumerable<ScreenPointF[]> screenPoints, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)
Parameters¶
screenPoints
IEnumerable<ScreenPointF[]>
outlinePen
GeoPen
fillBrush
GeoBrush
drawingLevel
DrawingLevel
xOffset
Single
yOffset
Single
penBrushDrawingOrder
PenBrushDrawingOrder
AddText(String, GeoFont, GeoBrush, GeoPen, IEnumerable<ScreenPointF>, DrawingLevel, Single, Single, DrawingTextAlignment, Single)¶
Adds a text drawing operation.
public void AddText(string text, GeoFont font, GeoBrush fillBrush, GeoPen haloPen, IEnumerable<ScreenPointF> textPathInScreen, DrawingLevel drawingLevel, float xOffset, float yOffset, DrawingTextAlignment drawingTextAlignment, float rotateAngle)
Parameters¶
text
String
font
GeoFont
fillBrush
GeoBrush
haloPen
GeoPen
textPathInScreen
IEnumerable<ScreenPointF>
drawingLevel
DrawingLevel
xOffset
Single
yOffset
Single
drawingTextAlignment
DrawingTextAlignment
rotateAngle
Single
OnRender(DrawingContext)¶
Overrides the rendering behavior to execute stored drawing operations.
protected void OnRender(DrawingContext drawingContext)
Parameters¶
drawingContext
DrawingContext
AddScreenImageWithoutScaling(GeoImage, Single, Single, Single, Single, Single)¶
public void AddScreenImageWithoutScaling(GeoImage image, float centerXInScreen, float centerYInScreen, float xOffset, float yOffset, float rotateAngle)
Parameters¶
image
GeoImage
centerXInScreen
Single
centerYInScreen
Single
xOffset
Single
yOffset
Single
rotateAngle
Single
AddScreenImage(GeoImage, Single, Single, Single, Single, Single, Single, Single)¶
public void AddScreenImage(GeoImage image, float centerXInScreen, float centerYInScreen, float widthInScreen, float heightInScreen, float xOffset, float yOffset, float rotateAngle)
Parameters¶
image
GeoImage
centerXInScreen
Single
centerYInScreen
Single
widthInScreen
Single
heightInScreen
Single
xOffset
Single
yOffset
Single
rotateAngle
Single
Events¶
TargetUpdated¶
public event EventHandler<DataTransferEventArgs> TargetUpdated;
SourceUpdated¶
public event EventHandler<DataTransferEventArgs> SourceUpdated;
DataContextChanged¶
public event DependencyPropertyChangedEventHandler DataContextChanged;
RequestBringIntoView¶
public event RequestBringIntoViewEventHandler RequestBringIntoView;
SizeChanged¶
public event SizeChangedEventHandler SizeChanged;
Initialized¶
public event EventHandler Initialized;
Loaded¶
public event RoutedEventHandler Loaded;
Unloaded¶
public event RoutedEventHandler Unloaded;
ToolTipOpening¶
public event ToolTipEventHandler ToolTipOpening;
ToolTipClosing¶
public event ToolTipEventHandler ToolTipClosing;
ContextMenuOpening¶
public event ContextMenuEventHandler ContextMenuOpening;
ContextMenuClosing¶
public event ContextMenuEventHandler ContextMenuClosing;
PreviewMouseDown¶
public event MouseButtonEventHandler PreviewMouseDown;
MouseDown¶
public event MouseButtonEventHandler MouseDown;
PreviewMouseUp¶
public event MouseButtonEventHandler PreviewMouseUp;
MouseUp¶
public event MouseButtonEventHandler MouseUp;
PreviewMouseLeftButtonDown¶
public event MouseButtonEventHandler PreviewMouseLeftButtonDown;
MouseLeftButtonDown¶
public event MouseButtonEventHandler MouseLeftButtonDown;
PreviewMouseLeftButtonUp¶
public event MouseButtonEventHandler PreviewMouseLeftButtonUp;
MouseLeftButtonUp¶
public event MouseButtonEventHandler MouseLeftButtonUp;
PreviewMouseRightButtonDown¶
public event MouseButtonEventHandler PreviewMouseRightButtonDown;
MouseRightButtonDown¶
public event MouseButtonEventHandler MouseRightButtonDown;
PreviewMouseRightButtonUp¶
public event MouseButtonEventHandler PreviewMouseRightButtonUp;
MouseRightButtonUp¶
public event MouseButtonEventHandler MouseRightButtonUp;
PreviewMouseMove¶
public event MouseEventHandler PreviewMouseMove;
MouseMove¶
public event MouseEventHandler MouseMove;
PreviewMouseWheel¶
public event MouseWheelEventHandler PreviewMouseWheel;
MouseWheel¶
public event MouseWheelEventHandler MouseWheel;
MouseEnter¶
public event MouseEventHandler MouseEnter;
MouseLeave¶
public event MouseEventHandler MouseLeave;
GotMouseCapture¶
public event MouseEventHandler GotMouseCapture;
LostMouseCapture¶
public event MouseEventHandler LostMouseCapture;
QueryCursor¶
public event QueryCursorEventHandler QueryCursor;
PreviewStylusDown¶
public event StylusDownEventHandler PreviewStylusDown;
StylusDown¶
public event StylusDownEventHandler StylusDown;
PreviewStylusUp¶
public event StylusEventHandler PreviewStylusUp;
StylusUp¶
public event StylusEventHandler StylusUp;
PreviewStylusMove¶
public event StylusEventHandler PreviewStylusMove;
StylusMove¶
public event StylusEventHandler StylusMove;
PreviewStylusInAirMove¶
public event StylusEventHandler PreviewStylusInAirMove;
StylusInAirMove¶
public event StylusEventHandler StylusInAirMove;
StylusEnter¶
public event StylusEventHandler StylusEnter;
StylusLeave¶
public event StylusEventHandler StylusLeave;
PreviewStylusInRange¶
public event StylusEventHandler PreviewStylusInRange;
StylusInRange¶
public event StylusEventHandler StylusInRange;
PreviewStylusOutOfRange¶
public event StylusEventHandler PreviewStylusOutOfRange;
StylusOutOfRange¶
public event StylusEventHandler StylusOutOfRange;
PreviewStylusSystemGesture¶
public event StylusSystemGestureEventHandler PreviewStylusSystemGesture;
StylusSystemGesture¶
public event StylusSystemGestureEventHandler StylusSystemGesture;
GotStylusCapture¶
public event StylusEventHandler GotStylusCapture;
LostStylusCapture¶
public event StylusEventHandler LostStylusCapture;
StylusButtonDown¶
public event StylusButtonEventHandler StylusButtonDown;
StylusButtonUp¶
public event StylusButtonEventHandler StylusButtonUp;
PreviewStylusButtonDown¶
public event StylusButtonEventHandler PreviewStylusButtonDown;
PreviewStylusButtonUp¶
public event StylusButtonEventHandler PreviewStylusButtonUp;
PreviewKeyDown¶
public event KeyEventHandler PreviewKeyDown;
KeyDown¶
public event KeyEventHandler KeyDown;
PreviewKeyUp¶
public event KeyEventHandler PreviewKeyUp;
KeyUp¶
public event KeyEventHandler KeyUp;
PreviewGotKeyboardFocus¶
public event KeyboardFocusChangedEventHandler PreviewGotKeyboardFocus;
GotKeyboardFocus¶
public event KeyboardFocusChangedEventHandler GotKeyboardFocus;
PreviewLostKeyboardFocus¶
public event KeyboardFocusChangedEventHandler PreviewLostKeyboardFocus;
LostKeyboardFocus¶
public event KeyboardFocusChangedEventHandler LostKeyboardFocus;
PreviewTextInput¶
public event TextCompositionEventHandler PreviewTextInput;
TextInput¶
public event TextCompositionEventHandler TextInput;
PreviewQueryContinueDrag¶
public event QueryContinueDragEventHandler PreviewQueryContinueDrag;
QueryContinueDrag¶
public event QueryContinueDragEventHandler QueryContinueDrag;
PreviewGiveFeedback¶
public event GiveFeedbackEventHandler PreviewGiveFeedback;
GiveFeedback¶
public event GiveFeedbackEventHandler GiveFeedback;
PreviewDragEnter¶
public event DragEventHandler PreviewDragEnter;
DragEnter¶
public event DragEventHandler DragEnter;
PreviewDragOver¶
public event DragEventHandler PreviewDragOver;
DragOver¶
public event DragEventHandler DragOver;
PreviewDragLeave¶
public event DragEventHandler PreviewDragLeave;
DragLeave¶
public event DragEventHandler DragLeave;
PreviewDrop¶
public event DragEventHandler PreviewDrop;
Drop¶
public event DragEventHandler Drop;
PreviewTouchDown¶
public event EventHandler<TouchEventArgs> PreviewTouchDown;
TouchDown¶
public event EventHandler<TouchEventArgs> TouchDown;
PreviewTouchMove¶
public event EventHandler<TouchEventArgs> PreviewTouchMove;
TouchMove¶
public event EventHandler<TouchEventArgs> TouchMove;
PreviewTouchUp¶
public event EventHandler<TouchEventArgs> PreviewTouchUp;
TouchUp¶
public event EventHandler<TouchEventArgs> TouchUp;
GotTouchCapture¶
public event EventHandler<TouchEventArgs> GotTouchCapture;
LostTouchCapture¶
public event EventHandler<TouchEventArgs> LostTouchCapture;
TouchEnter¶
public event EventHandler<TouchEventArgs> TouchEnter;
TouchLeave¶
public event EventHandler<TouchEventArgs> TouchLeave;
IsMouseDirectlyOverChanged¶
public event DependencyPropertyChangedEventHandler IsMouseDirectlyOverChanged;
IsKeyboardFocusWithinChanged¶
public event DependencyPropertyChangedEventHandler IsKeyboardFocusWithinChanged;
IsMouseCapturedChanged¶
public event DependencyPropertyChangedEventHandler IsMouseCapturedChanged;
IsMouseCaptureWithinChanged¶
public event DependencyPropertyChangedEventHandler IsMouseCaptureWithinChanged;
IsStylusDirectlyOverChanged¶
public event DependencyPropertyChangedEventHandler IsStylusDirectlyOverChanged;
IsStylusCapturedChanged¶
public event DependencyPropertyChangedEventHandler IsStylusCapturedChanged;
IsStylusCaptureWithinChanged¶
public event DependencyPropertyChangedEventHandler IsStylusCaptureWithinChanged;
IsKeyboardFocusedChanged¶
public event DependencyPropertyChangedEventHandler IsKeyboardFocusedChanged;
LayoutUpdated¶
public event EventHandler LayoutUpdated;
GotFocus¶
public event RoutedEventHandler GotFocus;
LostFocus¶
public event RoutedEventHandler LostFocus;
IsEnabledChanged¶
public event DependencyPropertyChangedEventHandler IsEnabledChanged;
IsHitTestVisibleChanged¶
public event DependencyPropertyChangedEventHandler IsHitTestVisibleChanged;
IsVisibleChanged¶
public event DependencyPropertyChangedEventHandler IsVisibleChanged;
FocusableChanged¶
public event DependencyPropertyChangedEventHandler FocusableChanged;
ManipulationStarting¶
public event EventHandler<ManipulationStartingEventArgs> ManipulationStarting;
ManipulationStarted¶
public event EventHandler<ManipulationStartedEventArgs> ManipulationStarted;
ManipulationDelta¶
public event EventHandler<ManipulationDeltaEventArgs> ManipulationDelta;
ManipulationInertiaStarting¶
public event EventHandler<ManipulationInertiaStartingEventArgs> ManipulationInertiaStarting;
ManipulationBoundaryFeedback¶
public event EventHandler<ManipulationBoundaryFeedbackEventArgs> ManipulationBoundaryFeedback;
ManipulationCompleted¶
public event EventHandler<ManipulationCompletedEventArgs> ManipulationCompleted;