包含按钮的Silverlight InkPresenter
我有一个包含按钮的Silverlight InkPresenter,silverlight,windows-phone-7,Silverlight,Windows Phone 7,我有一个InkPresenter,我在上面添加了一个按钮 <StackPanel x:Name="SignStackPanel"> <InkPresenter x:Name="SighCanvas" Background="White" Height="346"> <Button Canvas.Left="6" Canvas.Top="275" Content="Button"
InkPresenter
,我在上面添加了一个按钮
<StackPanel x:Name="SignStackPanel">
<InkPresenter x:Name="SighCanvas" Background="White" Height="346">
<Button Canvas.Left="6" Canvas.Top="275" Content="Button"
Height="71" Name="Clear" Width="160" Background="#FF9D9D9D"
Click="Clear_Click" />
</InkPresenter >
</StackPanel>
我正在尝试创建一个简单的绘画应用程序。当我在InkPresenter
上绘制某样东西时,如果我将其拖动到按钮上,我的笔划将显示在按钮上
如何防止笔划出现在按钮上?为什么要将按钮放在InkPresenter中?将XAML中的按钮定义移到InkPresenter外部,但移到StackPanel内部,事情应该按照您的要求进行。我的设计就像,我的按钮位于InkPresenter的中心。如果我将按钮移到inkPresenter外部,但移到StackPanel内部,它将不会位于inkPresenter的中心。但为什么需要将按钮置于中心?由于该按钮的单击处理程序名为Clear\u click,因此我假设该按钮用于清除
InkPresenter
。似乎有一个按钮来清除画在绘画表面中间的绘画表面,我从未尝试过。但是您可以尝试将按钮放在画布中
,并将画布的ZIndex
属性设置为高于0的值。我不知道为什么会有它,但我有设计约束。
private Point currentPoint;
private Point oldPoint;
void SighCanvas_MouseMove(object sender, MouseEventArgs e)
{
currentPoint = e.GetPosition(this.SighCanvas);
Line line = new Line() {
X1 = currentPoint.X,
Y1 = currentPoint.Y,
X2 = oldPoint.X,
Y2 = oldPoint.Y
};
line.Stroke = new SolidColorBrush(Colors.Purple);
line.StrokeThickness = 4;
this.SighCanvas.Children.Add(line);
oldPoint = currentPoint;
}
void SighCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
currentPoint = e.GetPosition(SighCanvas);
oldPoint = currentPoint;
}