WPF の「タッチ」アプリケーションで線を描画したいので、次のコードを書きました。
XAML (一部) :
<Canvas x:Name="MainCanvas"
IsManipulationEnabled="True"
TouchDown="MainCanvas_TouchDown"
TouchUp="MainCanvas_TouchUp">
C# :
public partial class MainWindow : Window
{
Line myLine = new Line();
public MainWindow()
{
InitializeComponent();
}
public void MainCanvas_TouchDown(object sender, TouchEventArgs e)
{
myLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
myLine.StrokeThickness = 2;
// Line's starting point
myLine.X1 = e.GetTouchPoint(this).Position.X;
myLine.Y1 = e.GetTouchPoint(this).Position.Y;
}
public void MainCanvas_TouchUp(object sender, TouchEventArgs e)
{
// Line's ending point
myLine.X2 = e.GetTouchPoint(this).Position.X;
myLine.Y2 = e.GetTouchPoint(this).Position.Y;
MainCanvas.Children.Add(myLine);
}
}
これで一本の線しか引けません。別の絵を描こうとすると、アプリケーションがクラッシュします。