zoukankan      html  css  js  c++  java
  • WPF TextBox 的 EventTrigger & 重写控件

    遇到一个需求,在textbox获得焦点的时候,调用一个外部的软键盘。

    这可以用两个不同的方法来达到目的。

    1、EventTrigger

    首先定义一个Style

    <Style x:Key="TopSoftKeyboardTextBox" TargetType="{x:Type TextBox}">
            <Setter Property="FontFamily" Value="黑体"/>
            <Setter Property="FontSize" Value="24"/>
            <EventSetter Event="UIElement.GotFocus" Handler="SoftKeyboardTextBoxGotFocusTop"></EventSetter>
            <EventSetter Event="UIElement.LostFocus" Handler="SoftKeyboardTextBoxLostFocus"></EventSetter>
        </Style>

    然后定义两个方法

    private void SoftKeyboardTextBoxGotFocus(Object sender, RoutedEventArgs e)
            {
                \TODO
            }
    
            private void SoftKeyboardTextBoxLostFocus(Object sender, RoutedEventArgs e)
            {
               \TODO
            }    

    最后,在xaml页面将textbox的style设为上面的值即可;

    2、重写控件

    class VKTextBox : TextBox
        {
            protected override void OnInitialized(EventArgs e)
            {
                base.OnInitialized(e);            
            }
    
            protected override void OnGotFocus(RoutedEventArgs e)
            {
                base.OnGotFocus(e);
                \TODO
            }
    
            protected override void OnLostFocus(RoutedEventArgs e)
            {
                base.OnLostFocus(e);
                \TODO
            }
        }

    将页面的TextBox置换成VKTextBox即可。

  • 相关阅读:
    卡特兰数列(蒟蒻的学习笔记)
    10月7日 蒟蒻的流水账
    10月6日 蒟蒻的流水账
    10月5日 蒟蒻的流水账
    10月4号 蒟蒻的流水账
    2017 10 14(吐槽初赛)
    2017 10 13
    个人介绍
    luogu P1156 垃圾陷阱
    模板之矩阵快速幂(luogu P3390【模板】矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/AlvinLiang/p/3399365.html
Copyright © 2011-2022 走看看