作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的 WPF 页面,其中有一个文本框字段,我的客户希望在页面显示时突出显示该字段。在后面的代码中,它将是三行,但我正在通过 MVVM(我开始认为它有点被高估了)。我尝试了许多不同的行为和全局事件变体以及 FocusManager.FocusedElement
,但我做什么都不会这样做。
最终,我使用的大部分代码都调用了这两行:
Keyboard.Focus(textBox);
textBox.SelectAll();
最佳答案
“焦点”和“从文本框中选择所有文本”是 查看特定关注 .
把它放在后面的代码中。它根本不会破坏 MVVM 的分离。
public void WhateverControl_Loaded(stuff)
{
Keyboard.Focus(textBox);
textBox.SelectAll();
}
this.DataContext as MyViewModel;
public class MyViewModel
{
public Action INeedToFocusStuff {get;set;}
public void SomeLogic()
{
if (SomeCondition)
INeedToFocusStuff();
}
}
public void Window_Loaded(Or whatever)
{
var vm = this.DataContext as MyViewModel;
vm.INeedToFocusStuff += FocusMyStuff;
}
public void FocusMyStuff()
{
WhateverTextBox.Focus();
}
ListBox
之类的 ItemsControls,您就会很快意识到这一点。 es 或
DataGrid
s。
关于wpf - 如何将焦点设置在 AND SELECT ALL 初始文本框(MVVM 样式)上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21026208/
我是一名优秀的程序员,十分优秀!