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
總結
以上是生活随笔為你收集整理的wp7 给TextBox设置圆角边框的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于JS引擎效率的怨念
- 下一篇: 【DONE】dbeaver不会用,请教!