在做一个例子是需要运行起来后焦点默认设置在密码框上,在网上查了资料

自己找到一种方法,此方法在oob模式下管用

public Login()
{
InitializeComponent(); txtLoginName.Text = "admin";
// 设置焦点在密码框上
Dispatcher.BeginInvoke(() => { txtLoginPwd.Focus(); });
}

网上找到的另一种方法

1.想在Silverlight首次启动让某个文本框获取焦点,使用Loaded事件中txt.Focus()是不起做用的,要完成这功能只要添加一句代码即可:

        private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
HtmlPage.Plugin.Invoke("focus");
txtName.Focus(); }

2.在程序中为了方便用户,在一个文本框中按回车后跳到别一个文本框或其它控件,我们可以对原有的TextBox进行扩充,添加一个NextControl的属性用于保存下一个控件的名字,

另外为了方便我加了一个ToNextControl的事件,这样用起来更加方便,代码如下:

namespace HahaMan.SLTools.Controls
{
public class MyTextBox:TextBox
{
//事件
public event EventHandler ToNextControl; private string nextControl="";
//用于保存下一个控件的名字
public string NextControl
{
get { return nextControl; }
set { nextControl = value; }
} protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if (e.Key == Key.Enter)//如果是回车
{
if (ToNextControl != null)//如果自己写了事件处理程序
{
ToNextControl(this, e);//调用事件
}
else
{
//如果没有指定事件
if (nextControl != null && nextControl.Length > )
{
//查找下一个控件
Control c = (this.Parent as Panel).FindName(nextControl) as Control;
if (c != null)
{
c.Focus();
}
}
}
}
}
}
}

使用方法一:

<my:MyTextBox Height="" HorizontalAlignment="Left" Margin="786,152,0,0" Name="txtName" <span style="color:#ff0000;">NextControl="txtPwd"</span> VerticalAlignment="Top" Width="" />
<my:MyTextBox Height="" HorizontalAlignment="Left" Margin="786,205,0,0" Name="txtPwd" <span style="color:#ff0000;">NextControl="btnLogin"</span> VerticalAlignment="Top" Width="" />
<Button Content="登录" Height="" Margin="763,259,0,0" Name="btnLogin" VerticalAlignment="Top" HorizontalAlignment="Left" Width="" Click="btnLogin_Click" />

使用方法二:
xaml代码:

<my:MyTextBox Height="" HorizontalAlignment="Left" Margin="786,152,0,0" Name="txtName"  VerticalAlignment="Top" Width="" <span style="color:#ff0000;">ToNextControl="toNextControl"</span> />
<my:MyTextBox Height="" HorizontalAlignment="Left" Margin="786,205,0,0" Name="txtPwd" VerticalAlignment="Top" Width="" <span style="color:#ff0000;">ToNextControl="toNextControl"</span> />
<Button Content="登录" Height="" Margin="763,259,0,0" Name="btnLogin" VerticalAlignment="Top" HorizontalAlignment="Left" Width="" Click="btnLogin_Click" />

cs代码:

        private void toNextControl(object sender, EventArgs e)
{
if (sender == txtName) txtPwd.Focus();
if (sender == txtPwd) btnLogin.Focus();
}

网上找的方法转载至 http://blog.csdn.net/lijun7788/article/details/8087773

Silverlight 密码框 Focus的更多相关文章

  1. 模拟placeholder支持ie8以下处理了密码框只读的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. jquery实现密码框显示提示文字

    jquery实现密码框提示文字的功能. 代码:    <html>  <head>   3 <title>登录-jquery实现密码框显示文字-www.jbxue. ...

  3. IE下支持文本框和密码框placeholder效果的JQuery插件

    基于jQuery实现的,主要用于IE下实现placeholder效果,可同时支持文本和密码输入框.placeholder是HTML5新增的一个属性,当input设置了该属性后,该值的内容将作为灰色提示 ...

  4. wordpress登录密码框明文显示最后一个输入的字符

    wordpress登录密码框明文显示最后一个输入的字符 (function(a){a.fn.dPassword=function(c){var e={interval:200,duration:100 ...

  5. 记住密码后,密码框Password会自动带出数据

    一般登陆之后浏览器会询问是否记住密码,如果把密码记住在浏览器上,下次登陆的时候浏览器会把用户名和密码自动填充到登录页面.前段时间服务站平台的员工账号模块提测后,测试提出360浏览器记住密码后会自用把登 ...

  6. jquery更改输入框type为密码框password

    很蛋疼的一个问题: <input type="text" id="e1" value="123" /> 用juqery将文本框变 ...

  7. jq实现 禁止对密码框中的内容进行复制、剪切和粘贴操作

    $(function () { $("input:password").on("copy cut paste", function (e) { return f ...

  8. 表单form的属性,单行文本框、密码框、单选多选按钮

    基础表单结构: <body> <h1> <hr /> <form action="" name="myFrom" en ...

  9. WPF文本框密码框添加水印效果

    WPF文本框密码框添加水印效果 来源: 阅读:559 时间:2014-12-31 分享: 0 按照惯例,先看下效果 文本框水印 文本框水印相对简单,不需要重写模板,仅仅需要一个VisualBrush ...

随机推荐

  1. jquery鼠标悬停事件hover()

    在JQuery中提供了.hover()事件,hover的第一个参数(匿名方法)表示mouseenter,第二个参数表示mouseleave,即表示可以为hover传递两个参数.如下代码所示: $( & ...

  2. 【转】Pro Android学习笔记(十七):用户界面和控制(5):日期和时间控件

    目录(?)[-] DatePicker和TimePicker控件 DigitalClock和AnalogClock控件 DatePicker和TimePicker控件 使用DatePicker和Tim ...

  3. shell自动收集服务器硬件系统信息

    shell自动收集服务器硬件系统信息,插入数据库并通过web页面显示. 一,shell自动收集服务器硬件系统信息,插入数据库.#centos 7操作系统下 #!/bin/bash #auto get ...

  4. JConsole远程监控配置

    首先,看本机(Windows)安装了JRE没 Win > CMD 打开命令窗口 如有安装,则会显示以下版本信息:若没有显示,就安装吧 C:\Users\Administrator>java ...

  5. Nodejs调试技术

    基于Chrome浏览器的调试器 既然我们可以通过V8的调试插件来调试,那是否也可以借用Chrome浏览器的JavaScript调试器来调试呢?node-inspector模块提供了这样一种可能.我们需 ...

  6. 5.6 安装SqlDeveloper

    首先,将安装包准备好: 打开终端: 这样,sqldeveloper就安装完毕了. 在Ubuntu中搜索,sql,会出现: 点击,可以进入:

  7. Java引用的四种状态

    强引用 用的最广,我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它.它就是强引用. 如果一个对象具有强引用,那么垃圾回收期绝不会回收它,当内存空间不足,java虚拟机宁愿抛出 ...

  8. Gulp的学习和使用

    Gulp是一种直观.自动化构建的工具. Gulp是基于Node和NPM,安装教程点这里. 什么是Gulp? Gulp使用了node.js的流控制系统,使其(Gulp)构建更快,因为它不需要将临时文件/ ...

  9. 26、生鲜电商平台-RBAC系统权限的设计与架构

    说明:根据上面的需求描述以及对需求的分析,我们得知通常的一个中小型系统对于权限系统所需实现的功能以及非功能性的需求,在下面我们将根据需求从技术角度上分析实现的策略以及基于目前两种比较流行的权限设计思想 ...

  10. 【关于安装mysql5.6的一些问题总结】

    1:安装msyql5.6介质(mysql-5.6.24-winx64.msi)以后没有myslq服务: 解决: 管理员身份cmd进入bin目录: mysqld.exe -install Service ...