仅在双击文本框时聚焦文本框



是否有一种方法,只关注一个文本框时,它的双击?通常点击一次就会聚焦。我想要能够DragMove();的窗口,如果文本框被点击,如果它被双击,我想要能够写入它。

我已经尝试过这个解决方案:TextBox readonly "on/off"在"双击和失焦事件"之间在wpf但是它仍然聚焦于文本框。

我想用一个Richtextbox做同样的事情,我希望一个解决方案适用于两者。

谢谢你提前:D

试一试:

<TextBox MouseDoubleClick="TextBox_MouseDoubleClick" LostFocus="TextBox_LostFocus"/>
private void TextBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (sender is TextBox tb)
{
tb.IsReadOnly = false;
tb.Focus();
}
}
private void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
if (sender is TextBox tb)
{
tb.IsReadOnly = true;
}
}

我明白了!我只需要稍微调整一下@Ohad Cohens Code !

XAML

<TextBox MouseDoubleClick="TB_MouseDoubleClick" LostFocus="TB_LostFocus" Focusable="False"/>

c#

private void TB_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (sender is TextBox tb)
{
tb.Focusable = true;
tb.Focus();
}
}
private void TB_LostFocus(object sender, RoutedEventArgs e)
{
if (sender is TextBox tb)
{
tb.Focusable = false;
}
}

DragMove();

可以简单地使用

实现
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
DragMove();
}

最新更新