代码之家  ›  专栏  ›  技术社区  ›  Eric Obermuller

将文本框设置为焦点元素

  •  0
  • Eric Obermuller  · 技术社区  · 6 年前

    我想把焦点放在一个文本框上。我试过了 set focus for cursor

    但是所有的操作都是将光标放在那里并冻结它。你还不能打任何东西。最后仍然需要单击文本框进行键入。我和他们在那个问题上做的一模一样。我读了一些关于逻辑焦点和物理焦点的东西?不太清楚怎么做我需要的事。我需要创建一个附加属性并以这种方式处理它吗?我正在不惜一切代价避免代码落后。

    另外,在点击“提交”按钮之后,我想让它再次将焦点设置回文本框

    这是我试过的代码,FocusManager在一个包装文本框的网格上:

    FocusManager.FocusedElement="{Binding ElementName=FocusedTextBox}"
    
    
    <TextBox Text="{Binding serialNumber}"
             x:Name="FocusedTextBox">
    </TextBox>
    

    正如我所说的,所有这些操作都是将光标放在那里,在再次单击文本框之前,您不能键入任何内容。有什么建议吗?

    谢谢,

    1 回复  |  直到 6 年前
        1
  •  0
  •   Mark Feldman    6 年前

    只需给文本框起个名字(例如“the textbox”),然后调用 theTextBox.Focus() .

    如果您尝试在MVVM中使用数据绑定(而且您应该这样做),那么可以使用 an attached property 绑定到视图模型中的属性。