Wpf 通过绑定设置文本后,如何将焦点设置到文本框?
我正在尝试为WPF应用程序中的所有文本框实现SelectAll(文本)功能。我发现了如何做到这一点。但是,我表单上的第一个文本框不会自动聚焦。我试图通过使用Wpf 通过绑定设置文本后,如何将焦点设置到文本框?,wpf,focus,selectall,Wpf,Focus,Selectall,我正在尝试为WPF应用程序中的所有文本框实现SelectAll(文本)功能。我发现了如何做到这一点。但是,我表单上的第一个文本框不会自动聚焦。我试图通过使用firstTextBox.Focus在窗口加载的eventhandler中解决这个问题。这是可行的,但是这个文本框的文本属性是通过绑定设置的,看起来这是在Window_加载事件之后发生的。因此,我最终得到了第一个文本框,它最初是聚焦的,但没有选择文本。看来我需要参加一个不同的活动。哪一个?尝试在窗口的XAML中使用FocusManager:
firstTextBox.Focus
在窗口加载的eventhandler中解决这个问题。这是可行的,但是这个文本框的文本属性是通过绑定设置的,看起来这是在Window_加载事件之后发生的。因此,我最终得到了第一个文本框,它最初是聚焦的,但没有选择文本。看来我需要参加一个不同的活动。哪一个?尝试在窗口的XAML中使用FocusManager:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
FocusManager.FocusedElement="{Binding ElementName=firstTextBox}">
<Grid>
<TextBox Name="firstTextBox" />
</Grid>
</Window>
为什么不试试DataContextChangedEvent。在WPF中,聚焦始终是一件痛苦的事。。。我们必须为它传递代码隐藏文件…运气不好,第一个文本框可以获得焦点,但它的文本是在之后分配的。您能否为绑定添加一些信息/代码,以及您是使用mvvm还是使用代码隐藏。如果没有这些信息,我会说在设置datacontext后只需设置焦点。@blindmeis:太简单了,我想不起来;-)它起作用了!把你的评论变成一个答案,我会接受的。