惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
罗磊的独立博客
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
Last Week in AI
Last Week in AI
美团技术团队
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
Docker
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
月光博客
月光博客
L
LINUX DO - 最新话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
W
WeLiveSecurity
H
Heimdal Security Blog
Vercel News
Vercel News
SecWiki News
SecWiki News
Forbes - Security
Forbes - Security
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
TaoSecurity Blog
TaoSecurity Blog
T
Troy Hunt's Blog
A
About on SuperTechFans
C
Check Point Blog
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
AI
AI
WordPress大学
WordPress大学
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Help Net Security
Help Net Security
博客园_首页
The Last Watchdog
The Last Watchdog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
I
Intezer
K
Kaspersky official blog
M
MIT News - Artificial intelligence
J
Java Code Geeks
G
GRAHAM CLULEY
P
Palo Alto Networks Blog

博客园 - jerry zheng

九个使用F#的理由 修改SharePoint网站最大上载大小时有时需要关注的事项 给网站加上 开心网 转帖功能 接着加班 。 关于ASP.NET中用GB2312编码后Request的乱码问题 一年过去了 我每天问自己以下几个问题: 常用方法-MIS系统常用的树菜单 7月份项目开发心得 7月份的第一个星期五。 在repeater,gridview,datalist (数据源)中使用“用户自定义控件”时应该注意 基于ASP.NET AJAX 实现 client js call back web services ,return dataset or datatable... javascript常用函数集 加班通宵的日子 程序员的人生 该将如何规划?(转) 浅谈数据库设计技巧(上)、(下) 写给WEB2.0的站长 start learning silverlight 今天正式注册个人博客
让silverlight支持输入文本框
jerry zheng · 2007-12-11 · via 博客园 - jerry zheng

转载自:http://topic.csdn.net/u/20071019/13/0af521ac-2c01-46ef-85b5-65cd4501f6ae.html
 原文如下:
    众所周知,在silverlight1.0beta中是不支持inputtext(输入文本)的,但是我们可以用另外一种方法来实现输入文本的效果。
在silverlight中文本的显示可以用到两种形式
1   textblock
2   glyphs
glyphs是个不可见元素,没法对文字进行排版,而且也不常用,因此我们这个方法就用textblock来做这个inputtext。
下面讲讲原理:
silverlight支持鼠标和键盘输入,因此我们可以利用键盘输入来获取Key的value然后吧把value赋值给textblock,这样就可以简单的实现输入文本的功能了。
下面我们来看看例子:
新建一个xaml文件,在xaml中加入一个textblock,起名叫input_txt。
然后在js里addEventListener,在EventHandle里根据key的value来给textBlock赋不同值,但是这个暂时还不支持中文,因为中文的输入不是简单的键盘事件。
代码如下:
xaml:  

<Canvas
    xmlns= "http://schemas.microsoft.com/client/2007 "
    xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml "
    Width= "640 "   Height= "480 "
    x:Name= "Page "
    >
    <Canvas.Background >
        <LinearGradientBrush   EndPoint= "1,0.5 "   StartPoint= "0,0.5 " >
            <GradientStop   Color= "#FF000000 "   Offset= "0 "/ >
            <GradientStop   Color= "#FFFFFFFF "   Offset= "1 "/ >
        </LinearGradientBrush >
    </Canvas.Background >
    <Rectangle   x:Name= "background "   Width= "640 "   Height= "480 "   Stroke= "#FF000000 " >
        <Rectangle.Fill >
            <LinearGradientBrush   EndPoint= "0.519,1.273 "   StartPoint= "0.515,-0.061 " >
                <GradientStop   Color= "#FF000000 "   Offset= "0 "/ >
                <GradientStop   Color= "#FF5B5A5A "   Offset= "1 "/ >
            </LinearGradientBrush >
        </Rectangle.Fill >
    </Rectangle >
    <TextBlock   Cursor= "Arrow "   x:Name= "input_txt "   Width= "350 "   Height= "20 "   Canvas.Left= "151 "   Canvas.Top= "132 "   Canvas.ZIndex= "4 "   FontFamily= "Arial "   FontSize= "12 "   Foreground= "#FFFFFFFF "   TextWrapping= "Wrap "/ >
    <Rectangle   x:Name= "text_input_bg "   Width= "352 "   Height= "22 "   Stroke= "#FF000000 "   Canvas.Left= "149 "   Canvas.Top= "129 "   Canvas.ZIndex= "3 " >
        <Rectangle.Fill >
            <LinearGradientBrush   EndPoint= "0.528,0 "   StartPoint= "0.526,1.45 " >
                <GradientStop   Color= "#FF000000 "   Offset= "0 "/ >
                <GradientStop   Color= "#FF696969 "   Offset= "1 "/ >
            </LinearGradientBrush >
        </Rectangle.Fill >
    </Rectangle >
    <TextBlock   Width= "113 "   Height= "24 "   Canvas.Left= "263 "   Canvas.Top= "167 "   Canvas.ZIndex= "2 "   FontFamily= "Arial "   FontSize= "14 "   Foreground= "#FFFFFFFF "   TextWrapping= "Wrap " > <Run   Text= "text   input   solution "/ > </TextBlock >
</Canvas >  

javascript:

if   (!window.UntitledProject1)
    window.UntitledProject1   =   {};

UntitledProject1.Page   =   function()  
{
}

UntitledProject1.Page.prototype   =
{
    handleLoad:   function(control,   userContext,   rootElement)  
    {
        this.control   =   control;
       
        var   page   =   rootElement.findName( "Page ");
        page.addEventListener( "KeyUp ",   Silverlight.createDelegate(this,   this.handleKeyUp));
    },
    handleKeyUp:   function(sender,   keyEventArgs)  
    {
        var   input_txt   =   sender.findName( "input_txt ");
        var   keyvalue   =   keyEventArgs.key;
        var   textvalue;
        switch   (keyvalue)
        {
        case   30:
            textvalue   =   "A ";
            break;
        case   31:
            textvalue   =   "B ";
            break;
      ……
        default:
            textvalue   = " ";
        }
        input_txt.Text   +=   textvalue;            
    }
}