2017-02-01 4 views
0

inkcanvasでワンクリックで描いた線を消去しようとしています。 私の必要条件は、指定された領域に線または任意のパターンを描画すると、 は1回のクリックで描画されたすべての線を消去し、何かを描画して「消去」ボタンをクリックすると、 。inkcanvasでワンクリックで描画された線を消去しようとしています

XAML

<Grid x:Name="Bg_BigRect" Background="White" 
     Width="310" Height="440" 
     RelativePanel.Below="Bg_Rect" 
     Margin="24,10,0,0"> 
    <Image x:Name="Trans_Tex" Source="WorkBook/T0.png"        
      Margin="-10,0,0,20" 
      Width="310" Height="370"/> 
     <InkCanvas x:Name="ink"/> 
</Grid> 

C#コード

public WorkBook() 
{ 
    this.InitializeComponent(); 
    ink.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Touch;  

    // Set initial ink stroke attributes. 
    InkDrawingAttributes drawingAttributes = new InkDrawingAttributes(); 
    drawingAttributes.Color = Windows.UI.Colors.Black; 
    drawingAttributes.IgnorePressure = false; 
    drawingAttributes.FitToCurve = true; 
    ink.InkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes); 
} 

private void W_ClearTap(object sender, TappedRoutedEventArgs e) 
{ 
    this.ink.InkPresenter.InputProcessingConfiguration.Mode = InkInputProcessingMode.Erasing; 
} 

がUWPアプリのために画像

Screenshot of application

+1

'ink.InkPresenter.Strokes.Clear()' btw。それは 'A 'を描画する奇妙な方法です –

+0

@ManfredRadlwimmer私はしようとしましたが、" InkPresenter "には"ストローク "の定義が含まれていませんエラーを与えています。 – anuj

+0

これは変です。[Strokesプロパティ](https://msdn.microsoft.com/en-us/library/system.windows.controls.inkpresenter.strokes(v = vs.110).aspx)が必要です。 –

答えて

0

を参照してください、あなたはInkStrokeContainer.Clearメソッドを使用することができます。例:

ink.InkPresenter.StrokeContainer.Clear(); 
関連する問題