/// 単語単位で選択する
/// </summary>
/// <param name="index">探索を開始するインデックス</param>
- public void SelectWord(int index)
+ /// <param name="changeAnchor">選択の起点となるとインデックスを変更するなら真。そうでなければ偽</param>
+ public void SelectWord(int index, bool changeAnchor = false)
{
if (this.Document.FireUpdateEvent == false)
throw new InvalidOperationException("");
end++;
this.Select(start, end - start);
+
+ if(changeAnchor)
+ this.AnchorIndex = start;
}
/// <summary>
this.gestureRecongnizer.GestureSettings = GestureSettings.Drag |
GestureSettings.RightTap |
GestureSettings.Tap |
+ GestureSettings.DoubleTap |
GestureSettings.ManipulationTranslateX |
GestureSettings.ManipulationTranslateY |
GestureSettings.ManipulationScale |
this.FirstGripper.Enabled = false;
this.SecondGripper.Enabled = touched;
this.JumpCaret(e.Position);
+ System.Diagnostics.Debug.WriteLine(e.TapCount);
+ if (e.TapCount == 2)
+ {
+ this.FirstGripper.Enabled = touched;
+ //タッチスクリーンでダブルタップした場合、アンカーインデックスを単語の先頭にしないとバグる
+ this.Controller.SelectWord(this.Controller.SelectionStart, touched);
+ }
}
void JumpCaret(Point p)