silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight 苹果风格按钮Mac OS Style 实现的更新版,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
在 Silverlight 2 beta 2 时,我曾经写了一篇帖子实现了苹果风格的按钮样式( Silverlight 下苹果 (Mac OS)风格按钮的实现)。 而现在 Silverlight 2 终于发布了,也给之前的代码带来了很多问题,导致无法继续使用。 经过一阵探索,我终于成功修改了
这个代码,现在在正式版下也能工作正常了。其关键点如下: 1. 在 beta 2 时,需要采用 <vsm:Se
在 Silverlight 2 beta 2 时,我曾经写了一篇帖子实现了苹果风格的按钮样式( Silverlight 下苹果 (Mac OS)风格按钮的实现)。
而现在 Silverlight 2 终于发布了,也给之前的代码带来了很多问题,导致无法继续使用。
经过一阵探索,我终于成功修改了这个代码,现在在正式版下也能工作正常了。其关键点如下:
1. 在 beta 2 时,需要采用 <vsm:Setter> 和 <vsm:Style> 的语法编写样式。其中 vsm 是个名称空间引用:
xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
而正式版下直接用 <Style> 和 <Setter> 表签即可。
这个问题如果不修改,程序可以编译通过,但是运行时会报一个莫名其妙的 “ AG_E_PARSER_PROPERTY_NOT_FOUND ”错误。
2. ContentPresenter 和 ContentControl 控件删除了如下属性:
TextDecorations,
textwrapping,
TextAlignment.
因此,现在必须在 template 中将 ContentPresenter 的定位改用容器 Button 的 HorizontalContentAlignment 和 VerticalContentAlignment 属性来控制。代码如下:
<@H_404_23@
ContentPresenter@H_404_23@
@H_468_36@margin@H_404_23@=
"4,5,4,4"@H_404_23@
Content@H_404_23@=
"{TemplateBinding Content}"@H_404_23@
ContentTemplate@H_404_23@=
"{TemplateBinding ContentTemplatE}"@H_404_23@
HorizontalAlignment@H_404_23@=
"{TemplateBinding HorizontalContentAlignment}"@H_404_23@
VerticalAlignment@H_404_23@=
"{TemplateBinding VerticalContentAlignment}"@H_404_23@
/>@H_404_23@
修改成功后的 Style 全部代码如下:
<@H_404_23@
UserControl@H_404_23@
x@H_404_23@:
Class@H_404_23@=
"UserControl"@H_404_23@
xmlns@H_404_23@=
"http://scheR_437_11845@as.microsoft.com/winfx/2006/xaml/presentation"@H_404_23@
xmlns@H_404_23@:
x@H_404_23@=
"http://scheR_437_11845@as.microsoft.com/winfx/2006/xaml"@H_404_23@
xmlns@H_404_23@:
d@H_404_23@=
"http://scheR_437_11845@as.microsoft.com/expression/blend/2008"@H_404_23@
xmlns@H_404_23@:
@H_468_36@mc@H_404_23@=
"http://scheR_437_11845@as.openxmlformats.org/markup-compatibility/2006"@H_404_23@
@H_468_36@mc@H_404_23@:
Ignorable@H_404_23@=
"d"@H_404_23@
d@H_404_23@:
DesignWidth@H_404_23@=
"640"@H_404_23@
d@H_404_23@:
DesignHeight@H_404_23@=
"480"@H_404_23@
>@H_404_23@
<@H_404_23@
UserControl.resources@H_404_23@
>@H_404_23@
<@H_404_23@
Style@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"MyButton"@H_404_23@
TargetType@H_404_23@=
"Button"@H_404_23@
>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"IsEnabled"@H_404_23@
Value@H_404_23@=
"true"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"IsTabStop"@H_404_23@
Value@H_404_23@=
"true"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"BACkground"@H_404_23@
Value@H_404_23@=
"#FF003255"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"Foreground"@H_404_23@
Value@H_404_23@=
"#FF313131"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"MinWidth"@H_404_23@
Value@H_404_23@=
"5"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"MinHeight"@H_404_23@
Value@H_404_23@=
"5"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"Margin"@H_404_23@
Value@H_404_23@=
"0"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"HorizontalContentAlignment"@H_404_23@
Value@H_404_23@=
"Center"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"VerticalContentAlignment"@H_404_23@
Value@H_404_23@=
"Center"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"cursor"@H_404_23@
Value@H_404_23@=
"Arrow"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"FontSize"@H_404_23@
Value@H_404_23@=
"11"@H_404_23@
/>@H_404_23@
<@H_404_23@
Setter@H_404_23@
Property@H_404_23@=
"Template"@H_404_23@
>@H_404_23@
<@H_404_23@
Setter.Value@H_404_23@
>@H_404_23@
<@H_404_23@
ControlTemplate@H_404_23@
TargetType@H_404_23@=
"Button"@H_404_23@
>@H_404_23@
<@H_404_23@
Grid@H_404_23@
>@H_404_23@
<@H_404_23@
Grid.resources@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"LinearBevelLightStartColor"@H_404_23@
>@H_404_23@#FFFFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"LinearBevelLightEndColor"@H_404_23@
>@H_404_23@#F4E2E0E0
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"LinearBevelDarkStartColor"@H_404_23@
>@H_404_23@#E0E5E5E5
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"LinearBevelDarkEndColor"@H_404_23@
>@H_404_23@#B2FFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"MouSEOverLinearBevelDarkEndColor"@H_404_23@
>@H_404_23@#7FFC1717
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"HoverLinearBevelLightStartColor"@H_404_23@
>@H_404_23@#FCFFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"HoverLinearBevelLightEndColor"@H_404_23@
>@H_404_23@#EAFFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"HoverLinearBevelDarkStartColor"@H_404_23@
>@H_404_23@#D8FFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"HoverLinearBevelDarkEndColor"@H_404_23@
>@H_404_23@#4CFFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"CurvedBevelFillStartColor"@H_404_23@
>@H_404_23@#B3FFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
Color@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"CurvedBevelFillEndColor"@H_404_23@
>@H_404_23@#3CFFFFFF
</@H_404_23@
Color@H_404_23@
>@H_404_23@
<@H_404_23@
SolidColorBrush@H_404_23@
x@H_404_23@:
Key@H_404_23@=
"BorderBrush"@H_404_23@
Color@H_