WPF初学——自定义样式
生活随笔
收集整理的這篇文章主要介紹了
WPF初学——自定义样式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在WPF開發界面的過程中,經常會遇到多個相同種類的控件樣式也是統一的,但是要一個一個地去設置,即使是復制粘貼都嫌累,所以翻了些書,網上度娘了一些材料,發現WPF有很容易的方式解決我的糾結,那就是——自定義樣式。
我使用的比較多的是在Grid里使用Grid.Resource標簽將樣式作為靜態資源統一管理起來,然后在需要的地方使用。
1 <Grid.Resources> 2 <Style x:Key="Style_Label" TargetType="Label"> 3 <Setter Property="HorizontalAlignment" Value="Left"/> 4 <Setter Property="VerticalContentAlignment" Value="Center"/> 5 </Style> 6 7 <Style x:Key="Style_Label_Bold" TargetType="Label"> 8 <Setter Property="HorizontalAlignment" Value="Left"/> 9 <Setter Property="VerticalContentAlignment" Value="Center"/> 10 <Setter Property="FontWeight" Value="Bold"/> 11 </Style> 12 13 <Style x:Key="Style_Button" TargetType="Button"> 14 <Setter Property="Height" Value="40"/> 15 <Setter Property="Width" Value="80"/> 16 <Setter Property="HorizontalAlignment" Value="Left"/> 17 <Setter Property="Background" Value="#FF00AAFF"/> 18 <Setter Property="Foreground" Value="White"/> 19 <Setter Property="BorderBrush" Value="{x:Null}"/> 20 <Setter Property="Focusable" Value="False"/> 21 </Style> 22 23 <Style x:Key="Style_TextBox" TargetType="TextBox"> 24 <Setter Property="Height" Value="30"/> 25 <Setter Property="HorizontalAlignment" Value="Left"/> 26 <Setter Property="VerticalContentAlignment" Value="Center"/> 27 </Style> 28 29 <VisualBrush x:Key="HelpBrush" TileMode="None" Opacity="0.3" Stretch="None" AlignmentX="Left"> 30 <VisualBrush.Visual> 31 <TextBlock FontStyle="Italic" Text="必填項,免單或修改價格原因"/> 32 </VisualBrush.Visual> 33 </VisualBrush> 34 35 <Style x:Key="Style_TextBox_Tooltip" TargetType="TextBox"> 36 <Setter Property="Height" Value="30"/> 37 <Setter Property="HorizontalAlignment" Value="Left"/> 38 <Setter Property="VerticalContentAlignment" Value="Center"/> 39 <Style.Triggers> 40 <Trigger Property="Text" Value="{x:Null}"> 41 <Setter Property="Background" Value="{StaticResource HelpBrush}"/> 42 </Trigger> 43 <Trigger Property="Text" Value=""> 44 <Setter Property="Background" Value="{StaticResource HelpBrush}"/> 45 </Trigger> 46 </Style.Triggers> 47 </Style> 48 </Grid.Resources>現在遇到的問題是,我的Button的樣式,并不能真的去掉外邊框,需要更深一步才行。
當然還有TextBox的空內容提示,還在研究,不了解visualBrush的用法,算是移山填海地手法從巨人們的肩膀上得來的,多實踐才會理解代碼的含義。
說實話,Trigger(觸發器)要比事件更方便一些,發現了比winform好用的地方了,果然WPF是革新的技術啊!
轉載于:https://www.cnblogs.com/LeonWong/p/4867761.html
總結
以上是生活随笔為你收集整理的WPF初学——自定义样式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发最佳实践《IT蓝豹》
- 下一篇: Web Storage中的session