Button 实现CheckBox 效果

五迷三道 提交于 2020-01-29 14:57:23

View Code 如下:

View Code
 1 <LinearGradientBrush x:Key="BtnBrush" StartPoint="0,0" EndPoint="0,1"> 2     <GradientBrush.GradientStops> 3         <GradientStopCollection> 4             <GradientStop Color="White" Offset="0.0"/> 5             <GradientStop Color="#FFDBDCDD" Offset="0.5"/> 6         </GradientStopCollection> 7     </GradientBrush.GradientStops> 8 </LinearGradientBrush> 9 <Style x:Key="BtnStyle" TargetType="Button">10     <Setter Property="Template">11         <Setter.Value>12             <ControlTemplate TargetType="Button">13                 <Border BorderThickness="1" 14                             CornerRadius="10" 15                             BorderBrush="Gray"16                             Background="{StaticResource BtnBrush}">17                     <ContentPresenter Margin="2"18                                 RecognizesAccessKey="True"/>19                 </Border>20             </ControlTemplate>21         </Setter.Value>22     </Setter>23 </Style>24     ......25 <Button VerticalAlignment="Center" HorizontalAlignment="Center" Width="50" Height="50" 26         Style="{DynamicResource BtnStyle}" Command="{Binding BtnCommand}">27     <Button.Content>28         <Canvas Margin="5,-10,0,0" Visibility="{Binding IsVisible}">29             <Path Stroke="#FFD5D3D2" Fill="#FF76BB41" StrokeThickness=".8" Width="49" Height="40">30                 <Path.Data>31                     <PathGeometry>32                         <PathFigure StartPoint="6.2,17.6" IsClosed="True">33                             <LineSegment Point="15.8,27.2"></LineSegment>34                             <LineSegment Point="42.8,0.4"></LineSegment>35                             <LineSegment Point="48.6,6.6"></LineSegment>36                             <LineSegment Point="15.6,39.6"></LineSegment>37                             <LineSegment Point="0,24"></LineSegment>38                         </PathFigure>39                     </PathGeometry>40                 </Path.Data>41             </Path>42         </Canvas>43     </Button.Content>44 </Button>

Code Behind 如下:

View Code
 1      private Visibility _isVisible = Visibility.Hidden; 2  3         public Visibility IsVisible 4         { 5             get { return _isVisible; } 6             set 7             { 8                 if (_isVisible != value) 9                 {10                     _isVisible = value;11                     OnPropertyChanged("IsVisible");12                 }13             }14         }15 16         public DelegateCommand BtnCommand17         {18             get;19             set;20         }21 22         public Window1()23         {24             InitializeComponent();25             BtnCommand = new DelegateCommand(ExecuteBtnClick);26         }27         private void ExecuteBtnClick()28         {29             IsVisible = Visibility.Visible;30         }



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!