国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

WPF微信聊天和通訊錄按鈕樣式代碼分享

2019-10-29 21:19:57
字體:
供稿:網(wǎng)友

一、先用Path畫一下輪廓

<Path Stroke="Red" StrokeThickness="1" Margin="10" StrokeDashCap="Round">  <Path.Data>   <GeometryGroup>    <PathGeometry Figures="M 4,40 A 16,13 0 1 1 10,45 L 3,48 Z" />   </GeometryGroup>  </Path.Data></Path>
<Path Stroke="Red" StrokeThickness="1" StrokeDashCap="Round" Margin="50">  <Path.Data>   <GeometryGroup>    <PathGeometry Figures="M 12,30 A 6,10 0 1 1 18,30 L 30,40 L 30,45 L 0,45 L 0,40Z" />    <PathGeometry Figures="M 25,25 L 35,25"/>    <PathGeometry Figures="M 28,30 L 35,30"/>    <PathGeometry Figures="M 32,35 L 35,35"/>   </GeometryGroup>  </Path.Data></Path>

路徑圖如下

WPF,微信聊天,通訊錄

二、將路徑應(yīng)用的樣式里

 <!--聊天按鈕的樣式--> <Style x:Key="ChatStyle" TargetType="{x:Type RadioButton}">  <Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/>  <Setter Property="Background" Value="Transparent"/>  <Setter Property="BorderBrush" Value="Transparent"/>  <Setter Property="BorderThickness" Value="0"/>  <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>  <Setter Property="HorizontalContentAlignment" Value="Center"/>  <Setter Property="VerticalContentAlignment" Value="Center"/>  <Setter Property="Padding" Value="1"/>  <Setter Property="Template">   <Setter.Value>    <ControlTemplate TargetType="{x:Type RadioButton}">     <Border>      <Path x:Name="btnPath" StrokeThickness="1" Stroke="Gray" Fill="#FF3E3E40">       <Path.Data>        <GeometryGroup>         <PathGeometry Figures="M 4,40 A 16,13 0 1 1 10,45 L 3,48 Z" />        </GeometryGroup>       </Path.Data>      </Path>     </Border>     <ControlTemplate.Triggers>      <Trigger Property="IsChecked" Value="true">       <Setter Property="Fill" Value="#FF14D212" TargetName="btnPath"/>       <Setter Property="Stroke" Value="#FF14D212" TargetName="btnPath"/>      </Trigger>      <Trigger Property="IsMouseOver" Value="true">       <Setter Property="Stroke" Value="White" TargetName="btnPath"/>      </Trigger>      <MultiTrigger>       <MultiTrigger.Conditions>        <Condition Property="IsChecked" Value="true"/>        <Condition Property="IsMouseOver" Value="true"/>       </MultiTrigger.Conditions>       <MultiTrigger.Setters>        <Setter Property="Stroke" Value="#FF14D212" TargetName="btnPath"/>       </MultiTrigger.Setters>      </MultiTrigger>     </ControlTemplate.Triggers>    </ControlTemplate>   </Setter.Value>  </Setter> </Style> <!--通訊錄的樣式--> <Style x:Key="FriendStyle" TargetType="{x:Type RadioButton}">  <Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/>  <Setter Property="Background" Value="Transparent"/>  <Setter Property="BorderBrush" Value="Transparent"/>  <Setter Property="BorderThickness" Value="0"/>  <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>  <Setter Property="HorizontalContentAlignment" Value="Center"/>  <Setter Property="VerticalContentAlignment" Value="Center"/>  <Setter Property="Padding" Value="1"/>  <Setter Property="Template">   <Setter.Value>    <ControlTemplate TargetType="{x:Type RadioButton}">     <Border>      <Path x:Name="btnPath" StrokeThickness="1" Stroke="Gray" Fill="#FF3E3E40">       <Path.Data>        <GeometryGroup>         <PathGeometry Figures="M 12,30 A 6,10 0 1 1 18,30 L 30,40 L 30,45 L 0,45 L 0,40Z" />         <PathGeometry Figures="M 25,25 L 35,25"/>         <PathGeometry Figures="M 28,30 L 35,30"/>         <PathGeometry Figures="M 32,35 L 35,35"/>        </GeometryGroup>       </Path.Data>      </Path>     </Border>     <ControlTemplate.Triggers>      <Trigger Property="IsChecked" Value="true">       <Setter Property="Fill" Value="#FF14D212" TargetName="btnPath"/>       <Setter Property="Stroke" Value="#FF14D212" TargetName="btnPath"/>      </Trigger>      <Trigger Property="IsMouseOver" Value="true">       <Setter Property="Stroke" Value="White" TargetName="btnPath"/>      </Trigger>      <MultiTrigger>       <MultiTrigger.Conditions>        <Condition Property="IsChecked" Value="true"/>        <Condition Property="IsMouseOver" Value="true"/>       </MultiTrigger.Conditions>       <MultiTrigger.Setters>        <Setter Property="Stroke" Value="#FF14D212" TargetName="btnPath"/>       </MultiTrigger.Setters>      </MultiTrigger>     </ControlTemplate.Triggers>    </ControlTemplate>   </Setter.Value>  </Setter> </Style>

看下效果圖

WPF,微信聊天,通訊錄

注意要點(diǎn)有幾個(gè):

1、Path原來必須要有填充,也就是說Fill必須要有值,否則會(huì)認(rèn)為是透明,點(diǎn)擊不到。

2、一定要設(shè)置MultiTrigger,否則當(dāng)button被選中的時(shí)候,鼠標(biāo)劃過,依然會(huì)變白色。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阜康市| 安图县| 彰化县| 青海省| 赤峰市| 葵青区| 淄博市| 和顺县| 徐闻县| 修文县| 武强县| 卢湾区| 曲麻莱县| SHOW| 滦平县| 西乡县| 龙山县| 土默特左旗| 巴彦县| 荔波县| 曲阜市| 肃宁县| 桦南县| 利津县| 岳阳市| 石嘴山市| 衢州市| 井研县| 琼中| 婺源县| 正宁县| 黄浦区| 开封市| 易门县| 烟台市| 察隅县| 米脂县| 阳原县| 怀远县| 中方县| 灵璧县|