WPF强制设置TextBox的焦点

在需求中遇到这样一种场景:就是在无论何时都要把焦点设置在一个TextBox中。

方式1:在窗体的Load事件中去设置焦点,(注意:不能在窗体的构造函数中对TextBox设置焦点,因为此时窗体的Visual还没有初始化):

           TextBox.Focus();或者键盘的焦点Keyboard.Focus(TextBox)

方式2:在窗体的Load事件中设置一个委托,代码:

this.Dispatcher.BeginInvoke(DispatcherPriority.Background,
             (Action)(() => { Keyboard.Focus(TextBox); }));

待窗体初始化完后调用。

时间: 2024-08-03 16:10:36

WPF强制设置TextBox的焦点的相关文章

WPF窗口默认TextBox焦点

原文:WPF窗口默认TextBox焦点 当WPF窗口显示后 如果想设置某个输入框为默认焦点 使用 FocusManager <Grid FocusManager.FocusedElement="{Binding ElementName=inputbox}"> <TextBox Name="inputbox" HorizontalAlignment="Left" Height="24" Margin="

WPF 设置TextBox为空时,背景为文字提示。

<TextBox FontSize="17" Height="26" Margin="230,150,189,0" Name="txt_Account" VerticalAlignment="Top" Foreground="Indigo" TabIndex="0" BorderThickness="1"> <TextBox.Re

WPF的TextBox的焦点获取与失去焦点的死循环解决方案

在WPF中实现一个弹出层自动获取焦点,弹出层实现是通过其UserControl的依赖属性Visibility的绑定实现的,让UserControl上的TextBox获取焦点,初始实现代码如下: public Visibility IsVisibile { get { return (Visibility)GetValue(IsVisibileProperty); } set { SetValue(IsVisibileProperty, value); } } public static read

C#中设置TextBox控件中仅可以输入数字且设置上限

首先设置只可以输入数字: 首先设置TextBox控件的KeyPress事件:当用户按下的键盘的键不在数字位的话,就禁止输入 1 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 2 { 3 if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar))//如果不是输入数字就不让输入 4 { 5 e.Handled = true; 6 } 7 } 设置上限: 设置TextBox

WPF:设置DataGrid中DataGridColumn列的普通样式和编辑样式

WPF:设置DataGrid中DataGridColumn列的普通样式和编辑样式 时间:2012-02-01 20:28来源:博客园 作者:刘圆圆 点击:1570次 0:DataGridColumn类型的继承树 DataGridColumn的派生类: 一般情况下DataGridBoundColumn和DataGridComboBoxColumn足以满足多数列的样式,如果需要自定义列样式,则可以使用DataGridTemplateColumn类型. 在设置列编辑样式之前,我们先创建一个简单的Dat

WPF:警惕TextBox会占用过多内存

问题源自这篇文章:WPF的TextBox产生内存泄露的情况. 整个问题是这样的,文章作者演示使用类似下方的代码来不停地像WPF的TextBox控件赋值: for (int i = 0; i < 10000; i++) { //tbx是界面上的TextBox变量 tbx.Text += string.Format("{0}\n", i); } 然后会出现程序占用过多内存的问题. 很快在那篇文章的评论中有人指出这个和WPF没有关系,因为频繁得拼接字符串会产生过多重复字符串对象,即使不

wpf dataGrid 选中行 失去焦点时 的背景颜色的更改

关于 wpf dataGrid 选中行 失去焦点时 的背景颜色的更改.很简单的方式,在datagrid的resource中更改InactiveSelectionHighlightBrushKey属性的值即可. 关键代码如下: <DataGrid.Resources> <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="Yellow

C#设置textBox只能输入数字(正数,负数,小数)简单实现

/* *设置textBox只能输入数字(正数,负数,小数) */ public static bool NumberDotTextbox_KeyPress(object sender, KeyPressEventArgs e) { //允许输入数字.小数点.删除键和负号 if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e

textView设置按下和焦点改变时让字体颜色发生变化

在res/color/text_color_selector.xml这个下编写: <?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:color