是否有一种方法,只关注一个文本框时,它的双击?通常点击一次就会聚焦。我想要能够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();
}