C# 选择对话框WPF中的所有不工作
我不确定出了什么问题,但我无法在对话框中选择文本框的文本 我添加了一个C# 选择对话框WPF中的所有不工作,c#,wpf,C#,Wpf,我不确定出了什么问题,但我无法在对话框中选择文本框的文本 我添加了一个FirstTimeLoadedHandler以加载到我的视图中,我在其中选择了文本: public ParticipantView() { InitializeComponent(); Loaded += FirstTimeLoadedHandler; } private void FirstTimeLoadedHandler(object sender, RoutedEventArgs e) { S
FirstTimeLoadedHandler
以加载到我的视图中,我在其中选择了文本:
public ParticipantView()
{
InitializeComponent();
Loaded += FirstTimeLoadedHandler;
}
private void FirstTimeLoadedHandler(object sender, RoutedEventArgs e)
{
SurnameBox.Focus();
Keyboard.Focus(SurnameBox);
SurnameBox.SelectAll();
}
但是,我的文本框处于键盘焦点,但根本没有被选中。我不知道为什么它不起作用
我认为这与我的数据绑定有关,但数据应该在加载前接收,否则我错了吗?您的代码只需做两个小改动就可以正常工作。首先,显然,在没有文本的
TextBox
上选择all不会产生任何效果。其次,如果您在调用SelectAll
后对其进行聚焦,您的运气会更好。试试这个:
private void FirstTimeLoadedHandler(object sender, RoutedEventArgs e)
{
SurnameBox.Text = "This text is selected";
SurnameBox.SelectAll();
Keyboard.Focus(SurnameBox);
}
尝试调试代码,在处理程序中放置断点,并查看文本框的内容。如果为空,则必须使用另一个事件(如:)。我猜您是对的。文本框为空,因此将在指定我的值之前调用它。但是,我不能在每次更改后都将其聚焦,因为这样它会在键入时选择文本…您的所有代码都在正常的WPF窗口中工作,这一定与您的数据绑定有关。您只需在首次处理SourceUpdate事件后取消订阅即可。这将确保您只选择一次。不过有点粗糙。@Frame91:在LostFocus事件中使用“全选”选项,它会起作用,否则在选择文本框之前应该有内容。。