日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Windows Phone 7 自定义控件库

發(fā)布時間:2025/6/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows Phone 7 自定义控件库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Windows Phone 7自定義一個控件庫跟Silverlight的是基本一樣的,第一步創(chuàng)建一個類庫,然后添加一個Themes文件夾,在文件夾里面添加上generic.xaml文件作為默認的控件樣式文件,記住一定要寫這個名字否則就找不到樣式了,大小寫都可以。新建一個控件類MyContro1.cs,MyContro2.cs在這里面就可以寫控件的處理邏輯了。

下面看一下一個水印控件的處理:

generic.xaml文件

?

  • <ResourceDictionary?
  • ????xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"?
  • ????xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"?
  • ????xmlns:local="clr-namespace:Phone.Controls;assembly=Phone.Controls"?
  • ????xmlns:d="http://schemas.microsoft.com/expression/blend/2008"?
  • ????xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"??? ?
  • ????mc:Ignorable="d"?
  • ????>?
  • ????<Style??TargetType="local:WatermarkedTextBox">?
  • ????????<Setter?Property="FontFamily"?Value="{StaticResource?PhoneFontFamilyNormal}"/>?
  • ????????<Setter?Property="FontSize"?Value="{StaticResource?PhoneFontSizeMediumLarge}"/>?
  • ????????<Setter?Property="Background"?Value="White"/>?
  • ????????<Setter?Property="Foreground"?Value="#FF3880B2"/>?
  • ????????<Setter?Property="BorderBrush"?Value="#FF3880B2"/>?
  • ????????<Setter?Property="SelectionBackground"?Value="#FF3880B2"/>?
  • ????????<Setter?Property="SelectionForeground"?Value="{StaticResource?PhoneTextBoxSelectionForegroundBrush}"/>?
  • ????????<Setter?Property="BorderThickness"?Value="{StaticResource?PhoneBorderThickness}"/>?
  • ????????<Setter?Property="Padding"?Value="2"/>?
  • ????????<Setter?Property="Template">?
  • ????????????<Setter.Value>?
  • ????????????????<ControlTemplate?TargetType="local:WatermarkedTextBox">?
  • ????????????????????<Grid?Background="Transparent">?
  • ????????????????????????<VisualStateManager.VisualStateGroups>?
  • ????????????????????????????<VisualStateGroup?x:Name="CommonStates">?
  • ????????????????????????????????<VisualState?x:Name="Normal"/>?
  • ????????????????????????????????<VisualState?x:Name="MouseOver"/>?
  • ????????????????????????????????<VisualState?x:Name="Disabled">?
  • ????????????????????????????????????<Storyboard>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="Visibility"?Storyboard.TargetName="EnabledBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0">?
  • ????????????????????????????????????????????????<DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????????????<Visibility>Collapsed</Visibility>?
  • ????????????????????????????????????????????????</DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????</DiscreteObjectKeyFrame>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="Visibility"?Storyboard.TargetName="DisabledOrReadonlyBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0">?
  • ????????????????????????????????????????????????<DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????????????<Visibility>Visible</Visibility>?
  • ????????????????????????????????????????????????</DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????</DiscreteObjectKeyFrame>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????</Storyboard>?
  • ????????????????????????????????</VisualState>?
  • ????????????????????????????????<VisualState?x:Name="ReadOnly">?
  • ????????????????????????????????????<Storyboard>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="Visibility"?Storyboard.TargetName="EnabledBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0">?
  • ????????????????????????????????????????????????<DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????????????<Visibility>Collapsed</Visibility>?
  • ????????????????????????????????????????????????</DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????</DiscreteObjectKeyFrame>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="Visibility"?Storyboard.TargetName="DisabledOrReadonlyBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0">?
  • ????????????????????????????????????????????????<DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????????????<Visibility>Visible</Visibility>?
  • ????????????????????????????????????????????????</DiscreteObjectKeyFrame.Value>?
  • ????????????????????????????????????????????</DiscreteObjectKeyFrame>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="Background"?Storyboard.TargetName="DisabledOrReadonlyBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0"?Value="White"/>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="BorderBrush"?Storyboard.TargetName="DisabledOrReadonlyBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0"?Value="#FF3880B2"/>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="Foreground"?Storyboard.TargetName="DisabledOrReadonlyContent">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0"?Value="{StaticResource?PhoneTextBoxReadOnlyBrush}"/>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????</Storyboard>?
  • ????????????????????????????????</VisualState>?
  • ????????????????????????????</VisualStateGroup>?
  • ????????????????????????????<VisualStateGroup?x:Name="FocusStates">?
  • ????????????????????????????????<VisualState?x:Name="Focused">?
  • ????????????????????????????????????<Storyboard>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="Background"?Storyboard.TargetName="EnabledBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0"?Value="White"/>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????????<ObjectAnimationUsingKeyFrames?Storyboard.TargetProperty="BorderBrush"?Storyboard.TargetName="EnabledBorder">?
  • ????????????????????????????????????????????<DiscreteObjectKeyFrame?KeyTime="0"?Value="#FF3880B2"/>?
  • ????????????????????????????????????????</ObjectAnimationUsingKeyFrames>?
  • ????????????????????????????????????</Storyboard>?
  • ????????????????????????????????</VisualState>?
  • ????????????????????????????????<VisualState?x:Name="Unfocused"/>?
  • ?
  • ????????????????????????????</VisualStateGroup>?
  • ????????????????????????</VisualStateManager.VisualStateGroups>?
  • ????????????????????????<Border?x:Name="EnabledBorder"?BorderBrush="#FF3880B2"?BorderThickness="{TemplateBinding?BorderThickness}"?Background="{TemplateBinding?Background}"?Margin="{StaticResource?PhoneTouchTargetOverhang}">?
  • ????????????????????????????<Grid>?
  • ????????????????????????????????<ContentControl?x:Name="watermarkContent"??HorizontalContentAlignment="Left"?Style="{TemplateBinding?WatermarkStyle}"?Content="{TemplateBinding?Watermark}"?Background="Transparent"?Opacity="0.5"/>?
  • ????????????????????????????????<ContentControl?x:Name="ContentElement"?BorderThickness="0"?HorizontalContentAlignment="Stretch"?Margin="{StaticResource?PhoneTextBoxInnerMargin}"?Padding="{TemplateBinding?Padding}"?VerticalContentAlignment="Stretch"/>?
  • ????????????????????????????</Grid>?
  • ????????????????????????</Border>?
  • ????????????????????????<Border?x:Name="DisabledOrReadonlyBorder"?BorderBrush="{StaticResource?PhoneDisabledBrush}"?BorderThickness="{TemplateBinding?BorderThickness}"?Background="White"?Margin="{StaticResource?PhoneTouchTargetOverhang}"?Visibility="Collapsed">?
  • ????????????????????????????<TextBox?x:Name="DisabledOrReadonlyContent"?Background="White"?Foreground="{StaticResource?PhoneDisabledBrush}"?
  • ?????????????????????????????????????FontWeight="{TemplateBinding?FontWeight}"?FontStyle="{TemplateBinding?FontStyle}"?FontSize="{TemplateBinding?FontSize}"?
  • ?????????????????????????????????????FontFamily="{TemplateBinding?FontFamily}"?IsReadOnly="True"?SelectionForeground="{TemplateBinding?SelectionForeground}"? ?
  • ?????????????????????????????????????SelectionBackground="{TemplateBinding?SelectionBackground}"?TextAlignment="{TemplateBinding?TextAlignment}"? ?
  • ?????????????????????????????????????TextWrapping="{TemplateBinding?TextWrapping}"?Text="{TemplateBinding?Text}"?Template="{StaticResource?PhoneDisabledTextBoxTemplate}"?/>?
  • ????????????????????????</Border>?
  • ????????????????????</Grid>?
  • ????????????????</ControlTemplate>?
  • ????????????</Setter.Value>?
  • ????????</Setter>?
  • ????</Style>?
  • ?
  • </ResourceDictionary>?
  • WatermarkTextBox..cs

    ?

  • using?System.Windows; ?
  • using?System.Windows.Controls; ?
  • ?
  • namespace?Phone.Controls ?
  • { ?
  • ????public?class?WatermarkedTextBox?:?TextBox ?
  • ????{ ?
  • ????????ContentControl?WatermarkContent; ?
  • ????????public?static?readonly?DependencyProperty?WatermarkProperty?= ?
  • ??????DependencyProperty.Register("Watermark",?typeof(object),?typeof(WatermarkedTextBox),?new?PropertyMetadata(OnWatermarkPropertyChanged)); ?
  • ?
  • ????????public?static?readonly?DependencyProperty?WatermarkStyleProperty?= ?
  • ??????DependencyProperty.Register("WatermarkStyle",?typeof(Style),?typeof(WatermarkedTextBox),?null); ?
  • ?
  • ????????public?Style?WatermarkStyle ?
  • ????????{ ?
  • ????????????get?{?return?base.GetValue(WatermarkStyleProperty)?as?Style;?} ?
  • ????????????set?{?base.SetValue(WatermarkStyleProperty,?value);?} ?
  • ????????} ?
  • ?
  • ????????public?object?Watermark ?
  • ????????{ ?
  • ????????????get?{?return?base.GetValue(WatermarkProperty)?as?object;?} ?
  • ????????????set?{?base.SetValue(WatermarkProperty,?value);?} ?
  • ????????} ?
  • ?
  • ????????public?WatermarkedTextBox() ?
  • ????????{ ?
  • ????????????DefaultStyleKey?=?typeof(WatermarkedTextBox); ?
  • ????????} ?
  • ?
  • ????????public?override?void?OnApplyTemplate() ?
  • ????????{ ?
  • ????????????base.OnApplyTemplate(); ?
  • ????????????thisthis.WatermarkContent?=?this.GetTemplateChild("watermarkContent")?as?ContentControl; ?
  • ????????????if(WatermarkContent?!=?null) ?
  • ????????????{ ?
  • ??????????????DetermineWatermarkContentVisibility(); ?
  • ????????????} ?
  • ????????} ?
  • ?
  • ????????protected?override?void?OnGotFocus(RoutedEventArgs?e) ?
  • ????????{ ?
  • ????????????if?(WatermarkContent?!=?null?&&?string.IsNullOrEmpty(this.Text)) ?
  • ????????????{ ?
  • ????????????????this.WatermarkContent.Visibility?=?Visibility.Collapsed; ?
  • ????????????} ?
  • ????????????base.OnGotFocus(e); ?
  • ????????} ?
  • ?
  • ????????protected?override?void?OnLostFocus(RoutedEventArgs?e) ?
  • ????????{ ?
  • ????????????if?(WatermarkContent?!=?null?&&?string.IsNullOrEmpty(this.Text)) ?
  • ????????????{ ?
  • ????????????????this.WatermarkContent.Visibility?=?Visibility.Visible; ?
  • ????????????} ?
  • ????????????base.OnLostFocus(e); ?
  • ????????} ?
  • ?
  • ????????private?static?void?OnWatermarkPropertyChanged(DependencyObject?sender,?DependencyPropertyChangedEventArgs?args) ?
  • ????????{ ?
  • ????????????WatermarkedTextBox?watermarkTextBox?=?sender?as?WatermarkedTextBox; ?
  • ????????????if(watermarkTextBox?!=?null?&&?watermarkTextBox.WatermarkContent?!=null) ?
  • ????????????{ ?
  • ??????????????watermarkTextBox.DetermineWatermarkContentVisibility(); ?
  • ????????????} ?
  • ????????} ?
  • ?
  • ????????private?void?DetermineWatermarkContentVisibility() ?
  • ????????{ ?
  • ????????????if?(string.IsNullOrEmpty(this.Text)) ?
  • ????????????{ ?
  • ????????????????this.WatermarkContent.Visibility?=?Visibility.Visible; ?
  • ????????????} ?
  • ????????????else ?
  • ????????????{ ?
  • ????????????????this.WatermarkContent.Visibility?=?Visibility.Collapsed; ?
  • ????????????} ?
  • ????????} ?
  • ????} ?
  • }?
  • ?

    轉(zhuǎn)載于:https://blog.51cto.com/linzheng/1078436

    總結(jié)

    以上是生活随笔為你收集整理的Windows Phone 7 自定义控件库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91欧美一区二区 | 免费毛片网站在线观看 | 性高跟鞋xxxxhd人妖 | 草草影院最新 | 野外性满足hd | 五月婷婷色丁香 | www.欧美| 成人h动漫精品一区二区无码 | 在线免费国产视频 | 日韩欧美在线观看一区 | 伊人av一区 | 中文字幕一区二区三区乱码不卡 | 各处沟厕大尺度偷拍女厕嘘嘘 | 蜜桃网站| 午夜视频福利 | 亚洲va国产天堂va久久 en | 樱花草涩涩www在线播放 | 精品国产1区2区 | 国产真人无码作爱视频免费 | 蜜桃中文字幕 | 国产日本欧美在线观看 | 嫩草视频免费观看 | 91在线日韩 | 欧美系列一区二区 | 黄色片xxx | 亚洲精品tv | 香蕉一级片 | 午夜剧场免费看 | 能在线观看的av网站 | 免费观看国产精品视频 | 一本大道久久久久精品嫩草 | 亚洲一区二区免费看 | 性奶老妇 视频 | 日韩在线一区视频 | 福利视频在线播放 | 91制服诱惑| 国产精品人八做人人女人a级刘 | 天天欧美| 激情都市一区二区 | 午夜小视频免费 | 欧美日韩亚洲第一 | 一级片黄色片 | 一级黄色免费片 | 免费观看亚洲视频 | 国产粉嫩呻吟一区二区三区 | 老湿机69福利区午夜x片 | 国产日韩av一区二区 | 午夜在线成人 | av国产片 | 日本精品在线一区 | 国产在线精品视频 | 亚洲成人精选 | 久九九 | 亚洲一区在线看 | 天天爱夜夜爽 | 国产精品天堂 | 在线免费观看成人 | 国语对白做受69 | 国产成人免费 | 不卡av网站 | 国产成人一区二区三区 | 国产国产国产 | 精品黄网 | 国产日韩欧美综合 | 国产精品午夜视频 | 国产成人一级片 | bbbbbbbbb毛片大片按摩 | www.亚洲精品 | 朝桐光在线视频 | 成人欧美激情 | 免费a级黄色片 | 名校风暴在线观看免费高清完整 | 日本wwwxxx| 国产一区二区三区四区视频 | 国产主播毛片 | jlzzjlzz亚洲女人18 | 欧美一级片一区二区 | 狠狠插av | 亚洲福利一区二区 | 最新av网址在线观看 | jizz免费视频 | 欧美永久免费 | 亚洲国产欧美一区 | 男人操女人的网站 | 呦呦av | 久久91av| 在线观看亚洲精品 | 国产美女无遮挡网站 | 精品无码一区二区三区的天堂 | 成人精品视频一区二区三区尤物 | 黄色动漫免费在线观看 | 日韩av在线天堂 | 国产婷婷一区二区三区久久 | 日本爽妇网 | 国产精品爽爽久久 | 免费看黄色片子 | 欧美日韩亚洲在线观看 | 15—16女人毛片 | 白丝动漫美女 |