私は "キャンバス"と呼ばれる最高のレイヤーを画像の表示に使用しています。次に、イベントメニューの「キャンバスタッチダウン」を「menuCanvas」という最下位レイヤーに使用して、私のワークスペースメニューを表示しようとしています。しかし、私は写真をタッチすると、それはmenuCanvas_touchDownに行く。これはmenuCanvasレイヤーにあります。WPFレイヤーイベント分離
<Canvas x:Name="menuCanvas"
TouchDown="menuCanvas_TouchDown" TouchUp="menuCanvas_TouchUp"
TouchMove="menuCanvas_TouchMove" TouchLeave="menuCanvas_TouchLeave"
TouchEnter="menuCanvas_TouchEnter"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
Background="Transparent"
IsManipulationEnabled="True">
<Canvas x:Name="drawCanvas"
TouchDown="drawCanvas_TouchDown" TouchUp="drawCanvas_TouchUp"
TouchMove="drawCanvas_TouchMove" TouchLeave="drawCanvas_TouchLeave"
TouchEnter="drawCanvas_TouchEnter"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
Background="Transparent"
IsManipulationEnabled="True">
<Canvas x:Name="canvas"></Canvas>
</Canvas>
</Canvas>
私は絵と何もmenuCanvas_touchDownイベントに起こるをタッチします。 この問題を解決するにはどうすればよいですか?私はe.handleを使用しようとしていますが、画像の操作を壊します。
おかげ
編集:
をdrawCanvas_TouchDownとdrawCanvas_TouchUpコードがあります。
private void drawCanvas_TouchDown(object sender, TouchEventArgs e)
{
if (state == (int)STATE.Pen)
{
if (_activeStrokes.TryGetValue(e.TouchDevice.Id, out stroke))
{
FinishStroke(stroke);
return;
}
// Create new stroke, add point and assign a color to it.
Stroke newStroke = new Stroke();
newStroke.Color = _touchColor.GetColor();
newStroke.Id = e.TouchDevice.Id;
// Add new stroke to the collection of strokes in drawing.
_activeStrokes[newStroke.Id] = newStroke;
}
}private void drawCanvas_TouchUp(object sender, TouchEventArgs e)
{
// Find the stroke in the collection of the strokes in drawing.
if (state == (int)STATE.Pen)
{
if (_activeStrokes.TryGetValue(e.TouchDevice.Id, out stroke))
{
FinishStroke(stroke);
}
}
}
はあなたが非常に多くdrawCanvas_TouchUp'など 'drawCanvas_TouchDown'、'のため – ChrisF