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 static 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)¶
public void AddPolygon(IEnumerable<ScreenPointF[]> rings, GeoPen outlinePen, GeoBrush fillBrush, DrawingLevel drawingLevel, float xOffset, float yOffset, PenBrushDrawingOrder penBrushDrawingOrder)
Parameters¶
rings 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)¶
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
<AddPolygon>g__SignedArea|11_2(ScreenPointF[])¶
internal static double <AddPolygon>g__SignedArea|11_2(ScreenPointF[] ring)
Parameters¶
ring ScreenPointF[]
Returns¶
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;