StrokeCollection.Draw(DrawingContext) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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)
パラメーター
- context
- DrawingContext
DrawingContext を描画する StrokeCollection。
例
次の例では、 のサムネイル ビューを表示するカスタム要素を InkCanvas作成します。 カスタム要素は への InkCanvas 参照を保持し、イベントが発生したときにそれ自体を StrokeCollected 再描画します。
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
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET