StrokeCollection.Draw(DrawingContext) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nakreslí tahy v .StrokeCollection
public:
void Draw(System::Windows::Media::DrawingContext ^ context);
public void Draw (System.Windows.Media.DrawingContext context);
member this.Draw : System.Windows.Media.DrawingContext -> unit
Public Sub Draw (context As DrawingContext)
Parametry
- context
- DrawingContext
Pole , DrawingContext na které se má nakreslit StrokeCollection.
Příklady
Následující příklad vytvoří vlastní element, který zobrazí miniaturu objektu InkCanvas. Vlastní element uchovává odkaz na objekt InkCanvas a překresluje se, když dojde k StrokeCollected události.
public class InkThumbnail : FrameworkElement
{
private InkCanvas sourceInkCanvas = null;
// Get the InkCanvas that the user draws on.
public InkCanvas Source
{
get
{
return sourceInkCanvas;
}
set
{
if (sourceInkCanvas != null)
{
// Detach the event handler from the former InkCanvas.
sourceInkCanvas.StrokeCollected -= new InkCanvasStrokeCollectedEventHandler(SourceChanged);
}
sourceInkCanvas = value;
if (sourceInkCanvas != null)
{
// Attach the even handler to the InkCannvas
sourceInkCanvas.StrokeCollected += new InkCanvasStrokeCollectedEventHandler(SourceChanged);
}
}
}
// Handle the StrokeCollection event of the InkCanvas.
private void SourceChanged(object sender, InkCanvasStrokeCollectedEventArgs e)
{
// Cause the thumbnail to be redrawn.
this.InvalidateVisual();
}
protected override void OnRender(DrawingContext drawingContext)
{
base.OnRender(drawingContext);
// Draw the strokes from the InkCanvas at 1/4 of their size.
drawingContext.PushTransform(new ScaleTransform(0.25, 0.25));
if (sourceInkCanvas != null)
{
sourceInkCanvas.Strokes.Draw(drawingContext);
}
}
}
Public Class InkThumbnail
Inherits FrameworkElement
Private sourceInkCanvas As InkCanvas = Nothing
' Get the InkCanvas that the user draws on.
Public Property Source() As InkCanvas
Get
Return sourceInkCanvas
End Get
Set(ByVal Value As InkCanvas)
If Not sourceInkCanvas Is Nothing Then
' Detach the event handler from the former InkCanvas.
RemoveHandler sourceInkCanvas.StrokeCollected, AddressOf SourceChanged
End If
sourceInkCanvas = Value
If Not sourceInkCanvas Is Nothing Then
' Attach the even handler to the InkCannvas
AddHandler sourceInkCanvas.StrokeCollected, AddressOf SourceChanged
End If
End Set
End Property
' Handle the StrokeCollection event of the InkCanvas.
Private Sub SourceChanged(ByVal sender As Object, ByVal e As InkCanvasStrokeCollectedEventArgs)
' Cause the thumbnail to be redrawn.
Me.InvalidateVisual()
End Sub
Protected Overrides Sub OnRender(ByVal drawingContext As DrawingContext)
MyBase.OnRender(drawingContext)
' Draw the strokes from the InkCanvas at 1/4 of their size.
drawingContext.PushTransform(New ScaleTransform(0.25, 0.25))
If Not sourceInkCanvas Is Nothing Then
sourceInkCanvas.Strokes.Draw(drawingContext)
End If
End Sub
End Class
Platí pro
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.