WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院图形图像Flash 快速浏览Silverlight3 Beta: SystemColor(系统颜色... 阅读

快速浏览Silverlight3 Beta: SystemColor(系统颜色)

 2009-05-07 12:05:57 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閻忔氨鈧凹鍓熷娲垂椤曞懎鍓伴梺閫炲苯澧紒澶婄秺瀵濡歌閸嬫捇妫冨☉娆忔殘闂佷紮缍€娴滎剟鍩€椤掑倹鏆柛瀣躬瀹曚即寮借閺嗭箓鏌ㄩ悤鍌涘
核心提示: 相应的XAML 如下;<UserControl x:Class="SilverlightApplication36.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presen

相应的XAML 如下;

<UserControl
    x:Class="SilverlightApplication36.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
    xmlns:local="clr-namespace:SilverlightApplication36">
    <UserControl.Resources>
        <Style
            x:Key="buttonStyle" TargetType="Button">
            <Setter
                Property="Template">
                <Setter.Value>
                    <ControlTemplate
                        TargetType="Button">
                        <Grid>
                            <vsm:VisualStateManager.VisualStateGroups>
                                <vsm:VisualStateGroup
                                    x:Name="CommonStates">
                                    <vsm:VisualState
                                        x:Name="Normal" />
                                    <vsm:VisualState
                                        x:Name="MouseOver">
                                        <Storyboard>
                                            <DoubleAnimationUsingKeyFrames
                                                Storyboard.TargetName="BackgroundAnimation"
                                                Storyboard.TargetProperty="Opacity">
                                                <SplineDoubleKeyFrame
                                                    KeyTime="0"
                                                    Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </vsm:VisualState>
                                    <vsm:VisualState
                                        x:Name="Pressed">
                                        <Storyboard>
                                            <DoubleAnimationUsingKeyFrames
                                                Storyboard.TargetName="BackgroundAnimation"
                                                Storyboard.TargetProperty="Opacity">
                                                <SplineDoubleKeyFrame
                                                    KeyTime="0"
                                                    Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </vsm:VisualState>
                                    <vsm:VisualState
                                        x:Name="Disabled">
                                        <Storyboard>
                                            <DoubleAnimationUsingKeyFrames
                                                Storyboard.TargetName="DisabledVisualElement"
                                                Storyboard.TargetProperty="Opacity">
                                                <SplineDoubleKeyFrame
                                                    KeyTime="0"
                                                    Value=".55" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </vsm:VisualState>
                                </vsm:VisualStateGroup>
                                <vsm:VisualStateGroup
                                    x:Name="FocusStates">
                                    <vsm:VisualState
                                        x:Name="Focused">
                                        <Storyboard>
                                            <DoubleAnimationUsingKeyFrames
                                                Storyboard.TargetName="FocusVisualElement"
                                                Storyboard.TargetProperty="Opacity">
                                                <SplineDoubleKeyFrame
                                                    KeyTime="0"
                                                    Value="1" />
                                            </DoubleAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </vsm:VisualState>
                                    <vsm:VisualState
                                        x:Name="Unfocused" />
                                </vsm:VisualStateGroup>
                            </vsm:VisualStateManager.VisualStateGroups>
                            <Border
                                x:Name="Background"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="3">
                                <Grid
                                    Margin="1"
                                    Background="{TemplateBinding Background}">
                                    <Border
                                        x:Name="BackgroundAnimation"
                                        Opacity="0"
                                        Background="{TemplateBinding Background}" />
                                </Grid>
                            </Border>
                            <ContentPresenter
                                x:Name="contentPresenter"
                                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                Margin="{TemplateBinding Padding}"
                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                Content="{TemplateBinding Content}"
                                ContentTemplate="{TemplateBinding ContentTemplate}" />
                            <Rectangle
                                x:Name="DisabledVisualElement"
                                Fill="#FFFFFFFF"
                                RadiusX="3"
                                RadiusY="3"
                                IsHitTestVisible="false"
                                Opacity="0" />
                            <Rectangle
                                x:Name="FocusVisualElement"
                                Stroke="{TemplateBinding BorderBrush}"
                                StrokeThickness="1"
                                RadiusX="2"
                                RadiusY="2"
                                Margin="1"
                                IsHitTestVisible="false"
                                Opacity="0" />
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <local:MySystemStyles
            x:Key="mySystemStyles"
            BasedOnButtonStyle="{StaticResource buttonStyle}"/>
    </UserControl.Resources>
    <Grid
        x:Name="LayoutRoot">
        <Grid.Resources>
        </Grid.Resources>
        <Button
            Style="{Binding Source={StaticResource mySystemStyles},Path=ButtonStyle}"
            Content="Click Me"
            FontSize="24"
            HorizontalAlignment="Center"
            VerticalAlignment="Center" />
    </Grid>
</UserControl>

现在,它可以按我起初的想法,很好的运行了。当我在Windows中修改我的颜色主题时并刷新当前的Silverlight 应用,按钮会去获取已修改的系统颜色.

但是,目前在按钮上只有三个属性可以设置. 我需要为每个控件设置一系列的styles,然后再去扩展MySystemStyles 类,诸如一些:ComboBoxStyle, TreeViewStyle, TextBoxStyle 属性等等。它也必须包括诸如BasedOnComboBoxStyle 或 BasedOnTreeViewStyle属性等等.

哎…虽然可以工作,但应该还有更好的变法吧?

上一页  1 2 3 4 5 6 

Tags:快速 浏览 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接