2012-03-07 45 views

回答

2

您可以使用OnTap()OnDoubleTap() TextBox的方法。在每种方法中,您可以定义不同的逻辑并将焦点设置在TextBox上。

更新:

下面是关于如何使工作简单的代码结构:

XAML:

<TextBox x:Name="InputTextBox" Margin="0,0,0,520" /> 

C#

public MainPage() 
{ 
    InitializeComponent(); 
    InputTextBox.Tap += InputTextBoxTap; 
    InputTextBox.DoubleTap += InputTextBoxDoubleTap; 
} 

private void InputTextBoxDoubleTap(object sender, System.Windows.Input.GestureEventArgs e) 
{ 
    InputTextBox.Text = "Double tapped!"; 
} 

private void InputTextBoxTap(object sender, System.Windows.Input.GestureEventArgs e) 
{ 
    InputTextBox.Text = "Tapped!"; 
} 

我在模拟器和设备上都测试过它,它在两种情况下都能正常工作!

+0

OnDoubleTap()方法根本不会调用 – revolutionkpi 2012-03-07 15:31:55

+0

您是在模拟器还是在真实设备上测试过? – Abbas 2012-03-07 15:32:49

+0

在Debud中,它不会使用这种方法,使用模拟器 – revolutionkpi 2012-03-07 15:36:02

0

原因很简单。

如果你已经注意到,如果你想让他们像您可以选择从属性“鼠标点击”事件一样提供的参数是不同的

private void textBox1_MouseDoubleClick(object sender, MouseEventArgs e) 
{ 

} 

private void textBox1_Click(object sender, EventArgs e) 
{ 

} 

是。 干杯!

+0

该代码不适用于Silverlight for Windows Phone版本中的TextBox。检查MSDN:http://bit.ly/xYV58f – Abbas 2012-03-07 14:57:46

+0

是的,我没有这个事件,很可惜 – revolutionkpi 2012-03-07 15:33:51