`

wp wp8:公共样式定义

    博客分类:
  • wp
wp 
阅读更多
在Resources下创建一个名称为buttonStyle.xaml文件

在此文件中定义了全局button的样式

代码:

<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:System="clr-namespace:System;assembly=mscorlib">

    <Style x:Key="ButtonStyle" TargetType="Button">
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
        <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
        <Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
        <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
        <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
        <Setter Property="Margin" Value="10,10,10,10"/>
        <Setter Property="Width" Value="55"/>
        <Setter Property="Height" Value="55"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid Background="Transparent">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver"/>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
                                        </ObjectAnimationUsingKeyFrames>

                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ButtonBackground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Border x:Name="ButtonBackground" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0" Margin="5">
                            <ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</ResourceDictionary>

在App.xaml文件的<Application.Resources>

或者普通页面的<phone:PhoneApplicationPage.Resources>

或者用户控件的 <UserControl.Resources>  节点下

添加相应的ResourceDictionary,配置引用buttonStyle.xaml:

<!--应用程序资源-->
    <Application.Resources>
      
        <ResourceDictionary>
            <local:LocalizedStrings xmlns:local="clr-namespace:DataBoundApp1" x:Key="LocalizedStrings"/>
            <SolidColorBrush x:Key="AppAccentBrush" Color="White"/>           
            <ResourceDictionary.MergedDictionaries>
                <!--指定公共按钮样式文件位置-->
                <ResourceDictionary Source="Resources/buttonStyle.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>

    </Application.Resources>

注意都要放在ResourceDictionary之间



这样页面中的button可以直接添加样式



<Button x:Name="offlineload"
                     HorizontalAlignment="Center" VerticalAlignment="Center"
                     Style="{StaticResource ButtonStyle}"
                     Click="offlineloadMethod"
                    >
                <Button.Background>
                    <ImageBrush Stretch="Fill" ImageSource="/Assets/offlinedownload.png"/>
                </Button.Background>
            </Button>

分享到:
评论

相关推荐

    wp7样式代码

    在WP7开发中,XAML文件用来定义控件的外观和结构,包括样式和模板。 2. 样式(Style):在XAML中,样式允许开发者为控件定义一组共享的视觉属性,例如背景色、字体大小、边框宽度等。样式可以应用于单个控件,也...

    WP_HW01:主页

    这个名字暗示了这是一个版本控制下的项目,可能包含HTML源代码文件、CSS样式表(用于定义页面的视觉样式)、JavaScript脚本(用于交互性)以及其他可能的辅助文件,如图片或图标。 在HTML中,我们可以找到以下关键...

    WP盒子奉献:全网最强大的HTML5 Audio Player

    5. `css`:CSS文件夹,包含播放器的样式定义,决定了播放器的外观和布局,可能使用了CSS3的新特性如过渡效果、伪类等。 综上所述,这个HTML5 Audio Player是一个利用现代Web技术实现的先进多媒体解决方案,它展示了...

    WPF XAML WP8返回按钮样式

    本教程将详细介绍如何使用WPF XAML来重构WP8返回按钮的样式。 首先,我们关注`Resources.xaml`文件。这是一个资源字典,通常用于存储可重用的UI元素样式和模板。在其中定义返回按钮的样式,我们可以创建一个名为`...

    WP7 codeproject app .zip

    2. **Silverlight for WP7**:这是WP7应用程序开发的基础,需要熟悉Silverlight的控件、数据绑定、样式和模板,以及动画和多媒体处理。 3. **XAML**:用于声明式地定义用户界面,包括布局、控件和视觉状态。理解...

    仿WP7主题

    1. **自定义主题样式**:使用XML资源文件定义颜色、字体和控件样式,覆盖默认的主题。 2. **创建自定义控件**:可能需要编写自定义View类来实现动态磁贴或其他特定的WP7元素。 3. **使用第三方库**:一些库如`...

    wp win8 meto 主题模板

    【标题】"wp win8 meto 主题模板" 指的是一个专为Windows Phone (简称WP) 设计的主题模板,该模板采用了Windows 8(Win8)的Metro设计风格。Metro设计语言是微软在Windows 8操作系统中推出的一种全新的界面设计风格...

    windows8 FlipHubTile 仿wp8 3d翻转瓷砖

    在Windows 8应用开发中,为了提供与Windows Phone 8(WP8)类似的用户体验,开发者经常采用FlipHubTile控件来实现3D翻转效果的动态磁贴。这个控件模仿了WP8启动器中的动态瓷砖,使得Windows 8应用程序也能拥有吸引人...

    WP8的设计审核规范

    - **控件样式**:定义了按钮、文本框、列表项等控件的外观和行为准则。 - **导航结构**:推荐了最佳的导航路径和结构,以提高用户的使用便捷性。 - **动画效果**:建议了过渡动画、加载动画等视觉效果的最佳实践。 -...

    ( [培训]WP_第1章_Windows Phone平台预览

    - Style使用与继承:Style对象可以定义一组控件的公共属性,并应用于多个控件上,实现一致的外观设计。 - 主题与渐变使用:XAML还支持多种主题样式和渐变效果,帮助开发者创建美观的应用界面。 综上所述,Windows...

    WP8动态磁贴示例源码

    在Windows Phone 8 (WP8)平台上,动态磁贴(Live Tiles)是用户界面的核心特性之一,它使得应用的通知和信息能够实时更新,为用户提供直观且生动的交互体验。本示例源码提供了关于如何创建和管理WP8动态磁贴的具体...

    WPF 仿wp8 加载进度条动画效果

    在本文中,我们将深入探讨如何使用Windows Presentation Foundation (WPF) 实现仿Windows Phone 8 (wp8) 的加载进度条动画效果。WPF是.NET Framework中的一个强大的UI框架,它提供了丰富的图形和动画功能,使得...

    WP的自用模版

    1. **style.css**:这是CSS(层叠样式表)文件,用于定义网站的外观和布局。包括颜色、字体、间距、背景等样式规则,决定了网页的整体视觉效果。 2. **sub.html**:可能是一个子页面或者部分页面的HTML代码,用于...

    微软官方C#_XAML开发WP8应用程序教程pdf资料

    在WP8应用开发中,C#主要负责程序的逻辑控制和业务处理,而XAML则专注于定义UI元素和它们的交互方式。C#代码与XAML的结合,使得开发者可以将界面设计和功能实现分开,提高了代码的可读性和维护性。 **C#的基础概念*...

    wp木纹背景的精致主题

    4. **模板文件**: 模板文件包含了构建WordPress主题的所有必要文件,如style.css(定义样式)、header.php(头部)、footer.php(底部)、index.php(首页)等。用户可以根据需求对这些文件进行自定义,以实现特定的...

    WP付费主题showtime

    1. **style.css**:这是主题的核心样式表,包含定义页面布局、颜色、字体和其他视觉元素的CSS代码。通过编辑此文件,用户可以根据自己的品牌和喜好自定义网站的外观。 2. **pagenavi-css.css**:这个文件专门处理...

    wp博客程序清爽模板

    - style.css:主题的主样式表,定义了页面的样式和布局。 - header.php:页面头部的HTML结构,包含logo、导航菜单等元素。 - footer.php:页面底部,常包含版权信息、页脚菜单等。 - index.php:首页模板,展示博客...

    WP7有约源码

    1. **Silverlight for WP7**:理解如何使用Silverlight的控件、数据绑定、样式和模板来构建用户界面。 2. **XNA Framework**:学习游戏开发的基础,包括图形渲染、声音处理和游戏循环。 3. **MVVM模式**:了解如何在...

    wp博客超级门户主题

    8. **comments.php**:评论模板,定义了用户在文章下方发表和查看评论的样式和交互方式。 9. **comments_gb.php**:可能是针对简体中文环境的评论模板,处理中文评论的显示和格式。 10. **homebar.php**:可能是一...

    wp_chat:WordPress的插件聊天服务器端

    2. **wp-chat.css**: CSS 文件用于定义聊天界面的样式,包括聊天窗口的布局、颜色、字体等视觉元素。 3. **php 目录**: 通常包含处理服务器端逻辑的 PHP 文件,如处理用户认证、存储和检索聊天记录、验证消息内容等...

Global site tag (gtag.js) - Google Analytics