1

假设我有一个编号为 123.456 (InputScope="Number") 的文本框

当它获得焦点时,我点击它后,自动选择 456。

我看不到任何属性可以取消此操作。有什么隐藏的方法吗?

4

1 回答 1

1

只要通过处理SelectionChanged事件进行选择,您就可以简单地取消选择所有内容。例如

private void myTextbox_SelectionChanged(object sender, RoutedEventArgs e)
{
    //get the position the user clicked
    int start = myTextbox.SelectionStart;

    //detach this event handler so it's not fired when we clear the selection
    myTextbox.SelectionChanged -= myTextbox_SelectionChanged;

    //clear the selection but keep the cursor in the place it would've been
    myTextbox.Select(start, 0);

    //reattach the handler
    myTextbox.SelectionChanged += myTextbox_SelectionChanged;
}

这应该可以防止选择任何文本。要获取用户在文本框中点击的实际位置,您可以处理Tap事件并使用传递GetPosition()的参数的方法。GestureEventArgs

于 2013-05-18T16:46:13.600 回答