当前位置: 首页 > news >正文

wp7 给TextBox设置圆角边框

这只是一个很简单小技巧,大牛们就不要再来喷小弟。。

我就喜欢将一件很简单事情做到很完美。。。

首先准备好一张背景图

 

在最外层grid 加上这段代码:代码意思给页面加上背景图

 <Grid.Background>
            <ImageBrush ImageSource="/Images/bg.png"></ImageBrush>
  </Grid.Background>

下面是关键部分

主要用到一个Border 跟TextBox控件

Border作用就是加个边框效果

 <Border BorderThickness="1" BorderBrush="Gray" Height="72" Width="300" CornerRadius="10">
                <TextBox Text="请输入密码"></TextBox>
</Border>

还有很多细节问题处理,如下面红色地方 跟背景不匹配(控件默认是白色)

接下来我用取色器取出周边颜色 ,给文本框加上一个属性Background="#f6fbff"

<Border BorderThickness="1" BorderBrush="Gray" Height="72" Width="300" CornerRadius="10">
                <TextBox Text="请输入密码" Background="#f6fbff"></TextBox>
</Border>

细心点就发现TextBox还多出边框是白色,下面我给文本设置上周围背景色

 <Border BorderThickness="1" BorderBrush="Gray" Height="72" Width="300" CornerRadius="10">
                <TextBox Text="请输入密码" Background="#f6fbff" BorderBrush="#f6fbff"></TextBox>
</Border>

似乎很完美解决了...

但是这不是我想要的,假如我页面有一百个这样文本框,复制一百次这样子代码??

用户控件可以减少我部分代码量

用户控件代码:

  public partial class MyTextBox : UserControl
    {
        //文本框值
        private string _Text = "";
        public string MyText
        {
            get { return _Text; }
            set { _Text = value; }
        }
        //高度
        private double _Height = 72;
        public double MyHeight
        {
            get { return _Height; }
            set { _Height = value; }
        }

        //宽度
        private double _Width = 300;
        public double MyWidth
        {
            get { return _Width; }
            set { _Width = value; }
        }
        private string _Background = "#f6fbff";
        public string MyBackground
        {
            get { return _Background; }
            set { _Background = value; }
        }
        public MyTextBox()
        {
            InitializeComponent();
            this.Loaded += new RoutedEventHandler(MyTextBox_Loaded);
        }

        void MyTextBox_Loaded(object sender, RoutedEventArgs e)
        {
            txtBox.Text = MyText;
            border.Height = MyHeight;
            border.Width = MyWidth;
            string bg = this.MyBackground.Replace("#", "");

            byte r = Convert.ToByte(bg.Substring(0, 2));
            byte g = Convert.ToByte(bg.Substring(2, 2));
            byte b = Convert.ToByte(bg.Substring(4, 2));
            var color = new SolidColorBrush(Color.FromArgb(255, r, g, b));
            txtBox.Background = color;
            txtBox.BorderBrush = color;
        }

    }

这里我只写三个属性,做了一些简单处理。。。。

之后在页面拖这个控件,设置几个属性就可以使用,详细请查看源代码

  <my:MyTextBox HorizontalAlignment="Left" MyBackground="#222222" Margin="34,173,0,0" x:Name="myTextBox1" VerticalAlignment="Top"  Tap="myTextBox1_Tap" MyHeight="70" MyWidth="400" MyText="12221" />

 

 

其实里面很多东西都没有考虑进去,等我完成这个wp7小作品,我会逐步完善这个控件

同样项目源代码我也会共享出来。。。

TextBlockCornerRadius.rar

转载于:https://www.cnblogs.com/walleyekneel/archive/2013/01/13/2858457.html

相关文章:

  • 昨天使用 [wget] 把 [vbird鸟哥] 的整个博客网站数据下了下来
  • jQuery中$.fn的用法示例介绍
  • 详解dbms_stats.gather_fixed_objects_stats
  • 【转】Objective-C消息机制的原理
  • ASP.NET MVC URL Routing 学习
  • Unsupported repository,resources names are not uri
  • POJ-3034 Whac-a-Mole 动态规划
  • Android客户端采用Http 协议Post方式请求与服务端进行数据交互
  • 约定一种格式,通过约定的格式来实现一些动作,以达到作者的目的。--程序...
  • Oracle创建索引必知——献给数据库开发者
  • 友友系统:让云计算更加贴近用户
  • 同时展多个物料BOM List
  • RHEL6入门系列之十四,用户和组的基本知识
  • easyui-datagrid 报错:TypeError: col is null
  • 腾讯调整移动事业群,王小川送马化腾一记归属
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • android图片蒙层
  • Angular Elements 及其运作原理
  • PHP的类修饰符与访问修饰符
  • SAP云平台里Global Account和Sub Account的关系
  • SOFAMosn配置模型
  • Yeoman_Bower_Grunt
  • Yii源码解读-服务定位器(Service Locator)
  • 大整数乘法-表格法
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 收藏好这篇,别再只说“数据劫持”了
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #前后端分离# 头条发布系统
  • $.ajax()参数及用法
  • (C++)八皇后问题
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (分布式缓存)Redis哨兵
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • **python多态
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .sys文件乱码_python vscode输出乱码
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [2016.7.Test1] T1 三进制异或
  • [C++核心编程](四):类和对象——封装
  • [DM复习]关联规则挖掘(下)
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日
  • [Flutter]打包IPA
  • [HNOI2008]玩具装箱toy
  • [J2ME]如何替换Google Map静态地图自带的Marker
  • [MZ test.16]P2 math 乘方e
  • [pyqt5]pyqt5设置窗口背景图片后上面所有图片都会变成和背景图片一样
  • [python 刷题] 2866 Beautiful Towers II
  • [Ubuntu] 运行.AppImage格式文件
  • [Unity 3D] Unity 3D 性能优化(三)
  • [超详细]基于YOLO&OpenCV的人流量统计监测系统(源码&部署教程)