`

wp wp8:自定义Button图片背景

    博客分类:
  • wp
wp 
阅读更多
自定义一个返回按钮,以下是我的操作。



内容部分也是在网上参考的,但是都不太详细,我详细总结一下:

1.首先右键 .xaml文件 用blend打开



2.打开后 查看源

3.点击一下 源中你要自定义背景的button标签

4.看blend的左侧 在button上右键 编辑模版 编辑副本 确定



这时候会在 <phone:PhoneApplicationPage.Resources></phone:PhoneApplicationPage.Resources>标签内生成style资源



5.你可以在style资源中控制一下 背景色之类的



我的代码如下:

1. xaml中button定义如下

<Button x:Name="backButton"
                     HorizontalAlignment="Center" VerticalAlignment="Center"
                     Height="70" Width="70" Style="{StaticResource ButtonStyle1}"
                    Click="goBack">
                <Button.Background>
                    <ImageBrush Stretch="Fill" ImageSource="/Assets/black_back.png"/>
                </Button.Background>
               
            </Button>

2.resource中的style如下

<Style x:Key="ButtonStyle1" 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="Padding" Value="10,5,10,6"/>
            <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>



这样就会生成一个自定义背景的button background是transparent的

效果如图所示:

资讯左侧的返回 按钮就是我自定义的
分享到:
评论

相关推荐

    wpf自定义图片控件,可画框,图片浏览

    在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)中自定义一个图片控件,使其具备图像浏览和画框功能。WPF是.NET Framework的一部分,提供了丰富的UI设计和图形渲染能力,使得开发出这样的...

    android button 自定义

    - `grey_wp_button.9.png`、`grey_wp_button_down.9.png`、`grey_wp_button_active.9.png`这三张图片可能是按钮在不同状态下的背景图。 - `.9.png`是一种特殊的PNG图片格式,用于支持Android中的伸缩和拉伸,保持...

    NEiC WP8 视频教程PDF文档[培训]WP_第2章_UI控件

    控件继承图展示了WP8平台中UI控件的层次结构,从最基础的`DependencyObject`到具体的UI控件如`Button`、`TextBox`等。这个结构揭示了控件之间的关系以及它们共享的特性和行为,有助于开发者更好地理解和利用控件特性...

    自定义wordpress登陆界面插件

    这里,我们使用`login_enqueue_scripts`钩子来加载自定义的CSS文件(如`login.css`),并在`login_head`钩子中添加自定义的CSS代码,以改变登录页面的背景颜色。 接下来,我们需要创建`login.css`文件,用于定义...

    wp7 源码contextmenu

    【标题】"wp7 源码contextmenu"所涉及的知识点主要集中在Windows Phone 7(简称WP7)的应用开发中,尤其是与上下文菜单(ContextMenu)相关的编程实践。Windows Phone 7是微软针对智能手机推出的操作系统,其开发环境...

    wp-evidence-hub:关于研究中心 - WordPress 插件

    证据中心贡献者:mhawksey,nfreear 标签:自定义帖子类型,证据,oerhub 至少需要:3.0.1 最高测试:3.7.1 稳定标签:0.1 许可证:GPLv2 或更高版本许可证 URI: : 用于捕获和可视化围绕一组假设的证据的插件。...

    WPF自定义分页控件

    在构建自定义分页控件时,我们可能需要结合使用ItemsControl、StackPanel、Button等基本元素,并利用MVVM(Model-View-ViewModel)设计模式来实现数据和视图的解耦。 博客文章...

    我的家乡 WP7 开放

    【标题】"我的家乡 WP7 开放" 指的是一个基于Windows Phone 7 (WP7) 平台的应用程序开发项目,旨在展示用户家乡的全景视图和其他相关信息。这个项目可能是一个夏令营活动的一部分,让开发者们有机会学习和实践WP7...

    wp应用开发9-10

    在“wp应用开发9-10”这个主题中,我们主要关注的是Windows Phone(简称WP)平台的应用程序开发。Windows Phone是由微软公司推出的移动操作系统,它为开发者提供了一个独特的平台来创建引人入胜且功能丰富的应用程序...

    amilia-button-wp:用于创建 Amilia 重定向按钮的 WordPress 插件

    Amilia 是一款在线预约和预订系统,而"amilia-button-wp"则是一个专门为 WordPress 设计的插件,它的主要功能是帮助用户在网站上创建指向 Amilia 服务的重定向按钮。这款插件简化了将 Amilia 集成到 WordPress 网站...

    WP7 Toolkit使用例子

    **Windows Phone 7 (WP7) Toolkit 是一个强大的开源库,专门为Windows Phone 7和8平台提供了许多附加的用户界面控件和功能扩展。这个工具包极大地丰富了开发者在构建应用程序时的选择,使得他们能够创建更具吸引力和...

    WP游戏引擎 Samurai的使用例子

    这是Samurai的一个使用样例,关于内容的详解请留意“打造轻量级Windows Phone7 游戏...这个样例主要展示了如何打造一个WP7 XNA框架下的页面控制,输入检测,自定义控件(Button)整合的小游戏(虽然还没有游戏的内容)

    wp-gutenberg-button-popup

    wp-古腾堡-按钮弹出Gutenberg块,用于创建打开弹出窗口的按钮安装composer require generoi/wp-gutenberg-button-popup要求WordPress 5.6或更高版本用法您可以使用过滤器自定义弹出窗口的默认模板。 import { ...

    Windows.Phone7 ImageButton 源码

    1. **自定义控件类**:这个控件可能会继承自`Button`类,通过重写或扩展`Button`的一些属性和方法,如`Background`、`Template`等,以支持图片的显示。开发者可能添加了如`ImageSource`属性,用于设置按钮上的图片。...

    WP7DataTemplateDemo

    在Windows Phone 7(简称WP7)开发中,DataTemplate是一种强大的工具,它允许开发者自定义数据项在UI上的呈现方式。"WP7DataTemplateDemo"是一个实例项目,旨在展示如何在运行时动态加载和使用DataTemplate,以提高...

    wp-notify:小型通知类,用于管理WordPress管理员通知

    用法首先,您使用自定义前缀(通知的命名空间)来初始化您的类 $notify = new wpplex\WP_Notify\WP_Notify( 'my-notif' );创建您的第一个通知 $id = 'notif-xxy';$content = 'some random notif text';$type = '...

    Windows Phone 用户和自定义控件例子程序

    本教程将通过“Windows Phone 用户和自定义控件例子程序”这一主题,深入探讨如何利用XAML进行界面设计以及如何自定义控件以满足特定需求。 XAML是一种基于XML的语言,主要用于描述UI元素和它们的属性,使得开发者...

    [培训]WP_第2章_UI控件

    在探讨Windows Phone(以下简称WP)开发中的UI控件时,我们深入到NEIC Windows Phone技术培训资料的核心章节——第二章:UI控件。这一部分详细介绍了WP应用界面设计中的关键元素,包括基础控件、ToolKit控件以及事件...

    WP-Pinterest-Pin-It-Button:轻松地将 Pinterest“Pin It”按钮添加到您的 WordPress 网站

    "WP-Pinterest-Pin-It-Button" 是一个专门为 WordPress 平台设计的插件,它的主要功能是将 Pinterest 的 "Pin It" 按钮集成到用户的 WordPress 网站上。这使得访问者可以方便地将网站上的内容分享到 Pinterest 这个...

    Windows Phone 7 -UI设计入门.doc

    WP7提供了一系列控件用于构建用户界面,如Button、TextBlock、ListBox、Grid等。这些控件经过优化,适合触摸操作,并且可以通过样式和模板自定义外观和行为。例如,ListBox控件用于显示可滚动列表,而Grid控件则允许...

Global site tag (gtag.js) - Google Analytics