首页 / 软件开发 / Silverlight / silverlight之 – Blend之图形按钮(下)
silverlight之 – Blend之图形按钮(下)2011-09-17 博客园 zhanxpStyle.xaml 新增代码:001 <Style x:Key="GrayButtonStyle" TargetType="Button">
002 <Setter Property="Background" Value="#FF1F3B53"/>
003 <Setter Property="Foreground" Value="#FF000000"/>
004 <Setter Property="Padding" Value="3"/>
005 <Setter Property="BorderThickness" Value="1"/>
006 <Setter Property="BorderBrush">
007 <Setter.Value>
008 <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
009 <GradientStop Color="#FFA3AEB9" Offset="0"/>
010 <GradientStop Color="#FF8399A9" Offset="0.375"/>
011 <GradientStop Color="#FF718597" Offset="0.375"/>
012 <GradientStop Color="#FF617584" Offset="1"/>
013 </LinearGradientBrush>
014 </Setter.Value>
015 </Setter>
016 <Setter Property="Template">
017 <Setter.Value>
018 <ControlTemplate TargetType="Button">
019 <Grid>
020 <VisualStateManager.VisualStateGroups>
021 <VisualStateGroup x:Name="CommonStates">
022 <VisualState x:Name="Normal"/>
023 <VisualState x:Name="MouseOver">
024 <Storyboard>
025 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
026 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
027 </DoubleAnimationUsingKeyFrames>
028 </Storyboard>
029 </VisualState>
030 <VisualState x:Name="Pressed">
031 <Storyboard>
032 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
033 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
034 </DoubleAnimationUsingKeyFrames>
035 </Storyboard>
036 </VisualState>
037 <VisualState x:Name="Disabled">
038 <Storyboard>
039 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity">
040 <SplineDoubleKeyFrame KeyTime="0" Value=".55"/>
041 </DoubleAnimationUsingKeyFrames>
042 </Storyboard>
043 </VisualState>
044 </VisualStateGroup>
045 <VisualStateGroup x:Name="FocusStates">
046 <VisualState x:Name="Focused">
047 <Storyboard>
048 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
049 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
050 </DoubleAnimationUsingKeyFrames>
051 </Storyboard>
052 </VisualState>
053 <VisualState x:Name="Unfocused"/>
054 </VisualStateGroup>
055 </VisualStateManager.VisualStateGroups>
056 <Border x:Name="Background" Background="{StaticResource FB}" BorderBrush="{StaticResource FE}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">
057 <Grid Margin="0">
058 <Border x:Name="BackgroundAnimation" Opacity="0"/>
059 <Rectangle x:Name="BackgroundGradient" Fill="{StaticResource FB}" Opacity="0.55" RadiusX="2" RadiusY="4" StrokeThickness="0"/>
060 </Grid>
061 </Border>
062 <Rectangle x:Name="DisabledVisualElement" RadiusX="3" RadiusY="3" IsHitTestVisible="false" Opacity="0"/>
063 <Rectangle x:Name="FocusVisualElement" StrokeThickness="1" RadiusX="2" RadiusY="2" Margin="1" IsHitTestVisible="false" Opacity="0" Stroke="Black"/>
064 <Path Fill="{StaticResource CD}" Stretch="Fill" Height="23" HorizontalAlignment="Left" Margin="8,0,0,0" VerticalAlignment="Center" Width="25" UseLayoutRounding="False" Data="M3.9999971,5.9999943 L3.9999971,19.999994 L20.999996,19.999994 L20.999996,5.9999943 z M0,0 L25,0 L25,23 L0,23 z"/>
065 </Grid>
066 </ControlTemplate>
067 </Setter.Value>
068 </Setter>
069 </Style>
070 <Style x:Key="IconButton2" TargetType="Button">
071 <Setter Property="Background" Value="#FF1F3B53"/>
072 <Setter Property="Foreground" Value="#FF000000"/>
073 <Setter Property="Padding" Value="3"/>
074 <Setter Property="BorderThickness" Value="1"/>
075 <Setter Property="BorderBrush">
076 <Setter.Value>
077 <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
078 <GradientStop Color="#FFA3AEB9" Offset="0"/>
079 <GradientStop Color="#FF8399A9" Offset="0.375"/>
080 <GradientStop Color="#FF718597" Offset="0.375"/>
081 <GradientStop Color="#FF617584" Offset="1"/>
082 </LinearGradientBrush>
083 </Setter.Value>
084 </Setter>
085 <Setter Property="Template">
086 <Setter.Value>
087 <ControlTemplate TargetType="Button">
088 <Grid>
089 <VisualStateManager.VisualStateGroups>
090 <VisualStateGroup x:Name="CommonStates">
091 <VisualState x:Name="Normal"/>
092 <VisualState x:Name="MouseOver">
093 <Storyboard>
094 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
095 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
096 </DoubleAnimationUsingKeyFrames>
097 </Storyboard>
098 </VisualState>
099 <VisualState x:Name="Pressed">
100 <Storyboard>
101 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
102 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
103 </DoubleAnimationUsingKeyFrames>
104 </Storyboard>
105 </VisualState>
106 <VisualState x:Name="Disabled">
107 <Storyboard>
108 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity">
109 <SplineDoubleKeyFrame KeyTime="0" Value=".55"/>
110 </DoubleAnimationUsingKeyFrames>
111 </Storyboard>
112 </VisualState>
113 </VisualStateGroup>
114 <VisualStateGroup x:Name="FocusStates">
115 <VisualState x:Name="Focused">
116 <Storyboard>
117 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
118 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
119 </DoubleAnimationUsingKeyFrames>
120 </Storyboard>
121 </VisualState>
122 <VisualState x:Name="Unfocused"/>
123 </VisualStateGroup>
124 </VisualStateManager.VisualStateGroups>
125 <Border x:Name="Background" Background="{StaticResource FB}" BorderBrush="{StaticResource FE}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">
126 <Grid Margin="0">
127 <Border x:Name="BackgroundAnimation" Opacity="0"/>
128 <Rectangle x:Name="BackgroundGradient" Fill="{StaticResource FB}" StrokeThickness="0" RadiusX="2" RadiusY="4" Opacity="0.55"/>
129 </Grid>
130 </Border>
131 <Rectangle x:Name="DisabledVisualElement" RadiusX="3" RadiusY="3" IsHitTestVisible="false" Opacity="0"/>
132 <Rectangle x:Name="FocusVisualElement" Stroke="Black" StrokeThickness="1" RadiusX="2" RadiusY="2" Margin="1" IsHitTestVisible="false" Opacity="0"/>
133 <Path Fill="{StaticResource CD}" Stretch="Fill" Height="23" HorizontalAlignment="Left" Margin="8,0,0,0" Width="23" UseLayoutRounding="False" Data="M16,0 L24,0 L24,16.000008 L40,16.000008 L40,24.000008 L24,24.000008 L24,40 L16,40 L16,24.000008 L0,24.000008 L0,16.000008 L16,16.000008 z"/>
134 </Grid>
135 </ControlTemplate>
136 </Setter.Value>
137 </Setter>
138 </Style>
139 <Style x:Key="IconButtonStyle2" TargetType="Button">
140 <Setter Property="Background" Value="#FF1F3B53"/>
141 <Setter Property="Foreground" Value="#FF000000"/>
142 <Setter Property="Padding" Value="3"/>
143 <Setter Property="BorderThickness" Value="1"/>
144 <Setter Property="BorderBrush">
145 <Setter.Value>
146 <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
147 <GradientStop Color="#FFA3AEB9" Offset="0"/>
148 <GradientStop Color="#FF8399A9" Offset="0.375"/>
149 <GradientStop Color="#FF718597" Offset="0.375"/>
150 <GradientStop Color="#FF617584" Offset="1"/>
151 </LinearGradientBrush>
152 </Setter.Value>
153 </Setter>
154 <Setter Property="Template">
155 <Setter.Value>
156 <ControlTemplate TargetType="Button">
157 <Grid>
158 <VisualStateManager.VisualStateGroups>
159 <VisualStateGroup x:Name="CommonStates">
160 <VisualState x:Name="Normal"/>
161 <VisualState x:Name="MouseOver">
162 <Storyboard>
163 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
164 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
165 </DoubleAnimationUsingKeyFrames>
166 </Storyboard>
167 </VisualState>
168 <VisualState x:Name="Pressed">
169 <Storyboard>
170 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
171 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
172 </DoubleAnimationUsingKeyFrames>
173 </Storyboard>
174 </VisualState>
175 <VisualState x:Name="Disabled">
176 <Storyboard>
177 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity">
178 <SplineDoubleKeyFrame KeyTime="0" Value=".55"/>
179 </DoubleAnimationUsingKeyFrames>
180 </Storyboard>
181 </VisualState>
182 </VisualStateGroup>
183 <VisualStateGroup x:Name="FocusStates">
184 <VisualState x:Name="Focused">
185 <Storyboard>
186 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
187 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
188 </DoubleAnimationUsingKeyFrames>
189 </Storyboard>
190 </VisualState>
191 <VisualState x:Name="Unfocused"/>
192 </VisualStateGroup>
193 </VisualStateManager.VisualStateGroups>
194 <Border x:Name="Background" Background="{StaticResource FB}" BorderBrush="{StaticResource FE}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">
195 <Grid Margin="0">
196 <Border x:Name="BackgroundAnimation" Opacity="0"/>
197 <Rectangle x:Name="BackgroundGradient" Fill="{StaticResource FB}" StrokeThickness="0" RadiusX="2" RadiusY="4" Opacity="0.55"/>
198 </Grid>
199 </Border>
200 <Rectangle x:Name="DisabledVisualElement" RadiusX="3" RadiusY="3" IsHitTestVisible="false" Opacity="0"/>
201 <Rectangle x:Name="FocusVisualElement" Stroke="Black" StrokeThickness="1" RadiusX="2" RadiusY="2" Margin="1" IsHitTestVisible="false" Opacity="0"/>
202 <Path Fill="{StaticResource CD}" Stretch="Fill" Height="22.833" HorizontalAlignment="Left" VerticalAlignment="Center" Width="21.333" UseLayoutRounding="False" Data="M144.16599,168.16701 L143.99966,191.00034 L165.33321,180.00017 z" Margin="10,0,0,0"/>
203 </Grid>
204 </ControlTemplate>
205 </Setter.Value>
206 </Setter>
207 </Style>
208 <Style x:Key="IconButtonStyle3" TargetType="Button">
209 <Setter Property="Background" Value="#FF1F3B53"/>
210 <Setter Property="Foreground" Value="#FF000000"/>
211 <Setter Property="Padding" Value="3"/>
212 <Setter Property="BorderThickness" Value="1"/>
213 <Setter Property="BorderBrush">
214 <Setter.Value>
215 <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
216 <GradientStop Color="#FFA3AEB9" Offset="0"/>
217 <GradientStop Color="#FF8399A9" Offset="0.375"/>
218 <GradientStop Color="#FF718597" Offset="0.375"/>
219 <GradientStop Color="#FF617584" Offset="1"/>
220 </LinearGradientBrush>
221 </Setter.Value>
222 </Setter>
223 <Setter Property="Template">
224 <Setter.Value>
225 <ControlTemplate TargetType="Button">
226 <Grid>
227 <VisualStateManager.VisualStateGroups>
228 <VisualStateGroup x:Name="CommonStates">
229 <VisualState x:Name="Normal"/>
230 <VisualState x:Name="MouseOver">
231 <Storyboard>
232 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
233 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
234 </DoubleAnimationUsingKeyFrames>
235 </Storyboard>
236 </VisualState>
237 <VisualState x:Name="Pressed">
238 <Storyboard>
239 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundAnimation" Storyboard.TargetProperty="Opacity">
240 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
241 </DoubleAnimationUsingKeyFrames>
242 </Storyboard>
243 </VisualState>
244 <VisualState x:Name="Disabled">
245 <Storyboard>
246 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity">
247 <SplineDoubleKeyFrame KeyTime="0" Value=".55"/>
248 </DoubleAnimationUsingKeyFrames>
249 </Storyboard>
250 </VisualState>
251 </VisualStateGroup>
252 <VisualStateGroup x:Name="FocusStates">
253 <VisualState x:Name="Focused">
254 <Storyboard>
255 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
256 <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
257 </DoubleAnimationUsingKeyFrames>
258 </Storyboard>
259 </VisualState>
260 <VisualState x:Name="Unfocused"/>
261 </VisualStateGroup>
262 </VisualStateManager.VisualStateGroups>
263 <Border x:Name="Background" Background="{StaticResource FB}" BorderBrush="{StaticResource FE}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">
264 <Grid Margin="0">
265 <Border x:Name="BackgroundAnimation" Opacity="0"/>
266 <Rectangle x:Name="BackgroundGradient" Fill="{StaticResource FB}" StrokeThickness="0" RadiusX="2" RadiusY="4" Opacity="0.55"/>
267 </Grid>
268 </Border>
269 <Rectangle x:Name="DisabledVisualElement" RadiusX="3" RadiusY="3" IsHitTestVisible="false" Opacity="0"/>
270 <Rectangle x:Name="FocusVisualElement" Stroke="Black" StrokeThickness="1" RadiusX="2" RadiusY="2" Margin="1" IsHitTestVisible="false" Opacity="0"/>
271 <Path Fill="{StaticResource CD}" Stretch="Fill" Height="22.833" HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center" Width="19.917" UseLayoutRounding="False" Data="M144.16599,168.16701 L143.99966,191.00034 L168.56673,179.66718 z" RenderTransformOrigin="0.5,0.5">
272 <Path.RenderTransform>
273 <TransformGroup>
274 <ScaleTransform ScaleX="- 1"/>
275 <SkewTransform/>
276 <RotateTransform/>
277 <TranslateTransform X="-1"/>
278 </TransformGroup>
279 </Path.RenderTransform>
280 </Path>
281 </Grid>
282 </ControlTemplate>
283 </Setter.Value>
284 </Setter>
285 </Style>