[wpf]如果根据其他控件改变按钮的Path样式

来源:互联网 发布:wamp阿里云 编辑:程序博客网 时间:2024/06/08 18:02
  <Button Foreground="#6b7173" x:Name="Btn_Left" Grid.Row="1" Grid.Column="0" BorderThickness="0.5" Click="Btn_Left_Click" Width="90">                            <Path Width="20" Height="20" Stretch="Fill"                          Fill="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Button}}}">                                <Path.Style>                                    <Style TargetType="{x:Type Path}">                                        <Style.Triggers>                                            <DataTrigger Binding="{Binding IsChecked, ElementName=cbSelect}" Value="False">                                                <Setter Property="Path.Data" Value="F1 M 35.8724,37.6042L 39.0391,40.7708L 50.5182,51.8542L 40.2266,51.8542L 25.1849,37.6041L 40.2266,23.3542L 50.5182,23.3542L 39.0391,34.4375L 35.8724,37.6042 Z " />                                            </DataTrigger>                                            <DataTrigger Binding="{Binding IsChecked, ElementName=cbSelect}" Value="True">                                                <Setter Property="Path.Data" Value="M24.875042,4.9173828E-07L32.999998,4.9173828E-07 23.93754,7.7777552 21.437509,10 23.93754,12.222178 32.999998,20 24.875042,20 12.999999,9.9999308z M11.875042,0L20,0 10.937541,7.7777552 8.437511,10 10.937541,12.222176 20,20.000002 11.875042,20.000002 0,9.9999308z" />                                            </DataTrigger>                                        </Style.Triggers>                                    </Style>                                </Path.Style>                            </Path>                        </Button>

                      如代码所示,当需要根据外部控件的属性(如checkbox)决定按钮样式时,可以重写Path的Style,设置DataTrigger与其他控件绑定。
0 0
原创粉丝点击