我正在尝试在对话框中选择整个文本,但我无法这样做。
我有一个类Participant
,其中包含一个属性Firstname
。当我在参与者中设置参与者时,我正在调用焦点方法。但是,当对话框打开时,它仅处于焦点但未被选中。
这是我的焦点方法:
public void FocusSurname()
{
SurnameBox.SelectAll();
SurnameBox.Focus();
Keyboard.Focus(SurnameBox);
}
在对话框中,我将参与者设置如下:
Participant Participant
{
get { return _participant; }
set
{
_participant = value;
FocusSurname();
}
}
我的对话框开源代码非常多:
public void ShowDialog(object owner)
{
Owner = owner as Window;
ShowDialog();
}
为什么没有选择文字? :(
即使我在ShowDialog-Method中调用FocursSurname,也没有任何变化。
答案 0 :(得分:1)
您要完成的是查看相关代码(在我看来)。 mvvm指南或模式使用(或至少我对它的理解)表明你想要使用行为或附加属性。意味着将xaml功能扩展到插件视图相关的行为......
我发现了一个与您的主题相关的stackoverflow问题。看看这是否有帮助......或尝试从该解决方案中衍生出来......
链接:
Initial Focus and Select All behavior
HTH
答案 1 :(得分:0)
将以下事件处理程序方法绑定到文本框的GotFocus事件
private static void SelectText(object sender, RoutedEventArgs e)
{
var textBox = e.OriginalSource as TextBox;
Keyboard.Focus(textBox);
textBox.SelectAll();
}