问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

WPF 文本框changed事件 急!!!!

发布网友 发布时间:2023-10-20 04:49

我来回答

1个回答

热心网友 时间:2024-11-29 09:07

给你介绍两种方式

一种就是TextChanged事件,一种是依赖属性的回调方法。

效果如下:


XAML代码:

    <StackPanel Orientation="Vertical">
        <TextBox Height="50" TextChanged="TextBox_TextChanged"/>
        <TextBox x:Name="txt1" Height="50" Text="{Binding MyText,UpdateSourceTrigger=PropertyChanged}"/>
    </StackPanel>

C#代码:

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            this.DataContext = this;
        }

        /// <summary>
        /// 方式1,事件方法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            int i = 0;
            if (int.TryParse((((TextBox)sender).Text), out i))
            {
                if (((TextBox)sender).Text != i.ToString())
                {
                    ((TextBox)sender).Text = i.ToString();
                    ((TextBox)sender).SelectionStart = i.ToString().Length;
                }
            }
        }

        /// <summary>
        /// 方式2,依赖属性方法
        /// </summary>
        public string MyText
        {
            get { return (string)GetValue(MyTextProperty); }
            set { SetValue(MyTextProperty, value); }
        }

        public static readonly DependencyProperty MyTextProperty =
            DependencyProperty.Register("MyText", typeof(string), typeof(MainWindow), new PropertyMetadata("1",new PropertyChangedCallback((d,e)=>((MainWindow)d).PropertyChanged())));

        private void PropertyChanged()
        {
            int i = 0;
            if (int.TryParse(MyText, out i))
            {
                if (MyText != i.ToString())
                {
                    //用Dispatcher处理刷新
                    this.Dispatcher.BeginInvoke(new Action(delegate
                    {
                        MyText = i.ToString();
                        txt1.SelectionStart = i.ToString().Length;
                    }));
                }
            }
        }
    }

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
异想记歌词,杨幂唱滴! 有什么好打理的烫发发型可以推荐? 有哪些韩系卷发造型比较好打理? 哪些短发卷发造型比较好打理? 什么样的卷发发型比较好打理? 好打理的卷发造型有哪些值得推荐? 有哪些卷发发型比较好打理? 有哪些卷发造型比较好打理? 为什么离线迅雷看看播放器就不能用了,毕竟里面的是已经下载好了的,知... 迅雷离线用不了,连云播的搜索都用不了,是被封了吗? 元旦从辽宁省昌图县回吉林需要隔离么? 大航海之路哪些地方触发冒险任务 虹桥火车站去中山医院怎么走 申请微信的手机号停用了,这个还能用吗? 帮人在海洋不动产担保,现在借款人还不上钱,会冻结担保人的账户... 别人把房子抵押给海洋不动产公司了,我的钱以债转的方式给海洋了...15 为什么微信的手机通讯录匹配停用了,系统还会发手机好友推荐消息_百度... W7 DNF延迟高 广电宽带,用的路由器,我是浙江2区的 不要扯那些没用的比 ... 高分悬赏阿米那首 不再爱的歌词 带女朋友去买衣服,去商场逛了一圈她都不买,她说只有两家店,很生气说我... 赛尔号瑞尔斯技能表种族值(要有等级)和极限数据 赛尔号啊,求哈迪斯技能列表和种族值 怎么理解“相爱容易,相处难”这句话 失恋了心情不好怎么办739 白光驱动器能用在黄光灯上用吗led灯1 Say it and copy it的中文意思是什么? Say中文是什么意思? 谁在保定定兴驾校考过科目二啊,今天去那考试,倒库过了,但是侧...2 c1 科目二 倒库宽度和车宽度是多少9 定兴驾校哪个比较好啊,价格怎么样 请问从上海虹桥火车站到中山医院需要多长时间?就是从下火车到医院所有的... 一个怎样设置两个头像22 姚明在CBA拿过总冠军吗?拿过MVP吗?拿过几次?41 新手机电池里的电是虚电吗103 同一个为什么会有2个不同的头像7 一个怎么会有两个头像和昵称?13 、一个为什么会出现2个头像?6 考研会记录考试作弊吗? 西瓜助手和微小宝可以检测文章是否违规吗? ...才168cm,不知道还能不能长高,或者怎样才能长高? 我在闲聊的钱也没有了,怎么才能联系到客服啊?1 已经还清了本期浦发信用卡金额,但还有一个最低还款,还用交吗?_百度知... [不离不弃纯属童言无忌]的下一句谁能告诉我是什么。住:要表达...7 小孩笑言,十有一,童言无忌,无人理。 是什么生肖啊?麻烦告知...2 闲聊官方客服?1 之前因为左边深处的牙齿蛀的洞太大,医生给我填充了临时材料,让...2 养气血牢记6多6少,气血养好 我给微信好友发了红包之后我把他删除了如果他不领的话24小时后会把钱... 西瓜助手公众号诊断里的违规风险识别有什么用途? 失恋了,心情不好怎么办