WPF自定義漂亮的按鈕樣式_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:裝箱、轉(zhuǎn)型、方法調(diào)用他們究竟有什么區(qū)別?
      以下為引用的內(nèi)容: 裝箱、轉(zhuǎn)型、方法調(diào)用這些我們天天進(jìn)行的日常工作之前到底有什么差別? 以

      首先打開 Microsoft Visual Studio 2008 ,新建一個WPF項(xiàng)目,在上面隨便放幾個按鈕:

      然后給各個按鈕設(shè)置不同的背景顏色:

      設(shè)置好之后就是這樣啦:

      然后我們就開始在 App.xaml 文件中定義按鈕樣式了:

      定義的樣式代碼如下:

      以下為引用的內(nèi)容:
      <Application x:Class="WPFButton.App"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      StartupUri="Window1.xaml">
      <Application.Resources>
      <!--定義按鈕樣式-->
      <Style TargetType="Button">
      <Setter Property="Foreground" Value="Black"/>
      <!--修改模板屬性-->
      <Setter Property="Template">
      <Setter.Value>
      <!--控件模板-->
      <ControlTemplate TargetType="Button">
      <!--背景色-->
      <Border x:Name="back" Opacity="0.8" CornerRadius="3">
      <Border.BitmapEffect>
      <OuterGlowBitmapEffect Opacity="0.7" GlowSize="0" GlowColor="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(Button.Background).(SolidColorBrush.Color)}" />
      </Border.BitmapEffect>
      <Border.Background>
      <LinearGradientBrush StartPoint="0,0" EndPoint="0,1.5">
      <GradientBrush.GradientStops>
      <GradientStopCollection>
      <GradientStop Color="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(Button.Background).(SolidColorBrush.Color)}" Offset="0"/>
      <GradientStop Color="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(Button.Background).(SolidColorBrush.Color)}" Offset="0.4"/>
      <GradientStop Color="#FFF" Offset="1"/>
      </GradientStopCollection>
      </GradientBrush.GradientStops>
      </LinearGradientBrush>
      </Border.Background>
      <!--前景色及邊框-->
      <Border x:Name="fore" BorderThickness="1" CornerRadius="3" BorderBrush="#5555">
      <Border.Background>
      <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
      <GradientBrush.GradientStops>
      <GradientStopCollection>
      <GradientStop Color="#6FFF" Offset="0.5"/>
      <GradientStop Color="#1111" Offset="0.51"/>
      </GradientStopCollection>
      </GradientBrush.GradientStops>
      </LinearGradientBrush>
      </Border.Background>
      <!--按鈕內(nèi)容-->
      <ContentPresenter x:Name="content" HorizontalAlignment="Center" VerticalAlignment="Center" Content="{TemplateBinding Content}">
      <ContentPresenter.BitmapEffect>
      <DropShadowBitmapEffect Color="#000" Direction="-90" ShadowDepth="2" Softness="0.1" Opacity="0.3" />
      </ContentPresenter.BitmapEffect>
      </ContentPresenter>
      </Border>
      </Border>
      <!--觸發(fā)器-->
      <ControlTemplate.Triggers>
      <!--鼠標(biāo)移入移出-->
      <Trigger Property="IsMouseOver" Value="True">
      <Trigger.EnterActions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation To="6" Duration="0:0:0.2" Storyboard.TargetName="back" Storyboard.TargetProperty="(Border.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)" />
      <ColorAnimation To="#AFFF" BeginTime="0:0:0.2" Duration="0:0:0.2" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)" />
      <ColorAnimation To="#3FFF" BeginTime="0:0:0.2" Duration="0:0:0.2" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)" />
      </Storyboard>
      </BeginStoryboard>
      </Trigger.EnterActions>
      <Trigger.ExitActions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetName="back" Storyboard.TargetProperty="(Border.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)" />
      <ColorAnimation Duration="0:0:0.2" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)" />
      <ColorAnimation Duration="0:0:0.2" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)" />
      </Storyboard>
      </BeginStoryboard>
      </Trigger.ExitActions>
      </Trigger>
      <!--按鈕按下彈起-->
      <Trigger Property="IsPressed" Value="True">
      <Trigger.EnterActions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation To="3" Duration="0:0:0.1" Storyboard.TargetName="back" Storyboard.TargetProperty="(Border.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)" />
      <ColorAnimation To="#3AAA" Duration="0:0:0.1" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)" />
      <ColorAnimation To="#2111" Duration="0:0:0.1" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)" />
      </Storyboard>
      </BeginStoryboard>
      </Trigger.EnterActions>
      <Trigger.ExitActions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation Duration="0:0:0.1" Storyboard.TargetName="back" Storyboard.TargetProperty="(Border.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)" />
      <ColorAnimation Duration="0:0:0.1" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)" />
      <ColorAnimation Duration="0:0:0.1" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)" />
      </Storyboard>
      </BeginStoryboard>
      </Trigger.ExitActions>
      </Trigger>
      <!--按鈕失效-->
      <Trigger Property="IsEnabled" Value="False">
      <Setter Property="Foreground" Value="#B444"/>
      <Trigger.EnterActions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation To="0" Duration="0:0:0.3" Storyboard.TargetName="back" Storyboard.TargetProperty="(Border.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)" />
      <DoubleAnimation To="1" Duration="0:0:0.1" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.Opacity)" />
      <DoubleAnimation To="-135" Duration="0:0:0.1" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.Direction)" />
      <ColorAnimation To="#FFF" Duration="0:0:0.3" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.Color)" />
      <ColorAnimation To="#D555" Duration="0:0:0.3" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" />
      <ColorAnimation To="#CEEE" Duration="0:0:0.3" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)" />
      <ColorAnimation To="#CDDD" Duration="0:0:0.3" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)" />
      </Storyboard>
      </BeginStoryboard>
      </Trigger.EnterActions>
      <Trigger.ExitActions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation Duration="0:0:0.1" Storyboard.TargetName="back" Storyboard.TargetProperty="(Border.BitmapEffect).(OuterGlowBitmapEffect.GlowSize)" />
      <DoubleAnimation Duration="0:0:0.1" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.Opacity)" />
      <DoubleAnimation Duration="0:0:0.1" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.Direction)" />
      <ColorAnimation Duration="0:0:0.1" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.Color)" />
      <ColorAnimation Duration="0:0:0.1" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" />
      <ColorAnimation Duration="0:0:0.1" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)" />
      <ColorAnimation Duration="0:0:0.1" Storyboard.TargetName="fore" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)" />
      </Storyboard>
      </BeginStoryboard>
      </Trigger.ExitActions>
      </Trigger>
      </ControlTemplate.Triggers>
      </ControlTemplate>
      </Setter.Value>
      </Setter>
      </Style>
      </Application.Resources>
      </Application>

      分享:使用Ajax后,原來導(dǎo)出功能失敗的解決方法
      問題描述:我們的產(chǎn)品在Ajax后(使用微軟的UpdatePanel),其中的導(dǎo)出功能出現(xiàn)錯誤。因?yàn)閷?dǎo)出功能使用了Response直接輸出內(nèi)容,而Ajax的異步方式對此不能解析導(dǎo)致出現(xiàn)錯誤。 解決過程:在網(wǎng)上

      共3頁上一頁123下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關(guān).Net教程