1. 程式人生 > >新手學習wpf button中篇例項學習 等級4

新手學習wpf button中篇例項學習 等級4

button進階

1.等級3的時候學習了用Grid(網格)佈局排列。這次是button背景的引用
學習圓角button。我發現學程式碼難的原因就是英語不好不懂什麼意思。
設定focysable屬性為false後button就不會在按下的時候一閃一閃的
了.

執行效果圖

MainWindow.xaml程式碼

<Window x:Class="學習wpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="500" Width="800" >
<!--title標題--> <Grid > <!--grid 網格格子--> <Grid.ColumnDefinitions> <!--column 列 definitions 定義--> <ColumnDefinition Width="33*" /> <ColumnDefinition Width
="33*" />
<ColumnDefinition Width="33*" /> <ColumnDefinition Width="Auto"/> <!--auto自動--> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <!--row 行--> <RowDefinition Height="33*" /> <RowDefinition
Height="33*" />
<RowDefinition Height="33*" /> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <!--content 內容--> <!--background 背景--> <Button Content="按鈕1:資源" Grid.Column="0" Grid.Row="0" Name="button1" Background="{DynamicResource HuaShuaZiyuan}"/> <Button Content="按鈕2:樣式" Grid.Column="2" Grid.Row="0" Name="button2" Style="{StaticResource 樣式}" Focusable="False" /> <!--這裡設定focusable屬性為false後button就不會在按下的時候一閃一閃的了--> <Button Content="按鈕3顏色變化 " Grid.Column="1" Grid.Row="1" Name="button3" > <Button.Background> <!--anim動物;動畫 brush刷子;畫筆--> <!--solid 實在的;固體;立方體 color 顏色--> <SolidColorBrush x:Name="AnimBrush"/> </Button.Background> <Button.Triggers><!--triggers 觸發;引起(trigger的單三形式)--> <!--event 事件 routed已選擇路徑(route的過去分詞和過去式)RoutedEvent事件介面--> <EventTrigger RoutedEvent="Button.Loaded"> <BeginStoryboard><!--begin開始;首先 storyboard情節串連圖板--> <Storyboard><!--animation活潑,生氣;激勵;卡通片繪製--> <!--coloranimation顏色繪製 Storyboard.TargetName動畫例項的名字--> <!--Storyboard.TargetProperty連線的繪製的性質是--> <!--from ...to 從...到.. --> <!--duratuib持續時間--> <ColorAnimation Storyboard.TargetName="AnimBrush" Storyboard.TargetProperty="(SolidColorBrush.Color)" From="Red" To="Green" Duration="0:0:10" AutoReverse="True" RepeatBehavior="Forever"/> <!--auto自動 reverse倒轉 repeat重複 behavior行為 forever永遠--> </Storyboard> </BeginStoryboard> </EventTrigger> </Button.Triggers> </Button> <!--binding繫結 source 來源 resource資源 static靜態的 data資料 path路徑 span跨越--> <Button Content="按鈕4:Bingding" Grid.Column="1" Grid.Row="2" Name="button4" Background="{Binding Source={StaticResource myDataSource},Path=ColorName}" Grid.ColumnSpan="2" /> <Button Content="圓角按鈕" Grid.Column="0" Grid.Row="2" Name="button5" Margin="10" Click="button5_Click"> <Button.Template> <!--template模板 control控制;管理--> <ControlTemplate > <!--border邊界 thickness厚度 corner角落;拐角 radius半徑--> <Border BorderThickness="1" CornerRadius="3,136,3,136" > <Border.Background > <!--linear直線的;線性的 gradient傾斜的 brush刷子;畫筆--> <!--LinearGradientBrush線性漸變--> <!--end最後 start開始 point指向--> <LinearGradientBrush EndPoint="0,1" StartPoint="0,0"> <!--stop停止 offset偏移--> <GradientStop Color="LightBlue" Offset="0.0" /> <GradientStop Color="#ff0082bd" Offset="0.5" /> <GradientStop Color="Blue" Offset="0.0" /> </LinearGradientBrush> </Border.Background> </Border> </ControlTemplate> </Button.Template> </Button> <!--vertical垂直的Alignment對齊 top頂部 margin外邊距 click點選 FontSize字型大小--> <Button Content="字型大小" Grid.Column="1" Grid.Row="1" VerticalAlignment="Top" Margin="20" Name="button6" Click="FontSize_Click" /> </Grid> </Window>

App.xaml程式碼

<Application x:Class="學習wpf.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

           xmlns:local="clr-namespace:學習wpf"  

    StartupUri="MainWindow.xaml">
    <Application.Resources>
              <!--application 應用   resources資源-->
        <!--使用資源引用-->
        <SolidColorBrush x:Key="HuaShuaZiyuan" Color="Pink"/>
        <!--使用樣式-->
        <Style x:Key="樣式">     <!--style設計-->                 <!--value-->
            <!--setter調節器;設值函式   property性質 control控制管理-->
            <Setter Property="Control.Background" Value="LightBlue"/>
        </Style>
        <!--使用資料繫結-->
        <!--local區域性;當地 的   binding繫結   data資料     source來源-->
        <!--出現local缺引用在上面新增  xmlns:local="clr-namespace:你的專案名字xxx"-->
        <local:BindingData x:Key="myDataSource"/>
    </Application.Resources>
</Application>

點選後字型大小button的程式碼

button5是圓角button程式碼

   private void FontSize_Click(object sender, RoutedEventArgs e)
        {
                //private 私有的
               //void 空集
            //object  物件;目標
           // sender 傳送者
         //   Routed已選擇路徑  
            //Event事件,結果
            //arg 自變數

            if (FontSize == 12)
            {
                FontSize = 16;
            }
            else
            {
                FontSize=12;
            }
        }

        private void button5_Click(object sender, RoutedEventArgs e)
        {
             // message訊息 
                //box盒子
                //Show 顯示
            MessageBox.Show("圓角button 更改主要屬性就是CornerRadius ");

        }

新建一個BindingData.cs的類

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 學習wpf
{
 public   class BindingData
    {
                    //用於按鈕4
            public BindingData()                                                             
            {
                ColorName = "Red";
            }
            private string name = "Red";
            public string ColorName
            {
                get { return name; }
                set { name = value; }
            }
    }
}

相關推薦

新手學習wpf button中篇例項學習 等級4

button進階 1.等級3的時候學習了用Grid(網格)佈局排列。這次是button背景的引用 學習圓角button。我發現學程式碼難的原因就是英語不好不懂什麼意思。 設定focysable屬性為f

新手學習wpf記錄 button下篇 等級5

滑鼠放上button後button顏色改變 <Window x:Class="學習wpf之button下篇.MainWindow" xmlns="http://schemas

例項學習WPF的MVVM程式設計模式1

    先看一下程式介面,要實現的功能很簡單,輸入一個數,然後點選按鈕,將輸入數的平方根結果顯示在上方。     不使用MVVM模式,在Calculate按鈕的Click事件中,編寫程式碼,將結果顯示到上方的TextBlock中。     現在,我們來一步步實現MVV

例項學習ansible系列(3)Ansible執行命令常用Option

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

例項學習ansible系列(5)常用模組之copy

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

遷移學習演算法:多工學習說明及相關的例項

簡介:  多工學習(Multitask learning)是遷移學習演算法的一種,遷移學習可理解為定義一個一個源領域source domain和一個目標領域(target domain),在source domain學習,並把學習到的知識遷移到target domain,提升target

新手入門大資料,理清學習路線是關鍵

學習大資料,首先我們要學習Java語言和Linux作業系統,這兩個是學習大資料的基礎,學習的順序不分前後。Java:大家都知道Java的方向有JavaSE、JavaEE、JavaME,學習大資料要學習那個方向呢?只需要學習Java的標準版JavaSE就可以了,像Servlet、JSP、Tomcat、Strut

新手入門大數據,理清學習路線是關鍵

就是 語言 隊列 servle api 重要 核心 重試 ase 學習大數據,首先我們要學習Java語言和Linux操作系統,這兩個是學習大數據的基礎,學習的順序不分前後。Java:大家都知道Java的方向有JavaSE、JavaEE、JavaME,學習大數據要學習那個方向

分享適合新手小白學習的UI設計詳細學習課程資料

 Ui設計師就業市場前景及薪資很可觀,而且現在市場上對於ui設計師的人才需求也很大,所以,現在越來越多的人看好這一行業,紛紛投入到ui設計的學習中來,那麼想新手想要學好ui設計,以下這份完整的ui設計學習路線圖分享給大家參考學習,希望對大家有一定的幫助。 好的學習課程可以讓我們的學習更清晰,更

Python3基礎-函式例項學習

內建函式 絕對值函式 x = abs(100) y = abs(-20) print('x=100的絕對值為:{}'.format(x)) print('y=-20的絕對值為:{}'.format(y)) x=100的絕對值為:100 y=-20的絕對值為:20 求最大值、最小值、求和函式 prin

Netty應用例項學習

Netty 是一個 Java NIO 客戶端伺服器框架,使用它可以快速簡單地開發網路應用程式,比如伺服器和客戶端的協議。Netty 大大簡化了網路程式的開發過程比如 TCP 和 UDP 的 socket 服務的開發。 本文旨在通過例項學習Netty的一些用法。 【1】Netty

C++學習筆記——建構函式例項

/************************************************************************************************************************************************ 1.&n

零基礎學習 Python 之類的例項

寫在之前 昨天寫了類屬性,作為不分家的小夥伴,今天當然是來說說 “例項”。我在之前的文章中說過,類是物件的定義,例項才是真實的東西。比如 “人” 是一個類,但是 “人” 終究不是具體的某個會喘氣的,只有 “rocky” 才是具體的東西,但他是具有 “人” 這個類所定義的屬性和方法。“

JavaWeb學習筆記5——事務例項:轉賬

資料庫是具有事務性的,這是資料庫與其他儲存方式的區別之一。 那麼什麼是事務性呢?簡單來說一個事務內會執行多個操作,這些操作要麼全部執行成功,要麼全部執行失敗。就比如說轉賬:A向B轉賬200元是一個事務,但他包含兩個操作,一個是A減少200元,另一個是B增加200元,這兩個操作必須都操作成功才能說

JQuery應用例項學習 —— 09 用ready函式隱藏p標籤內容

<html> <head> <script type="text/javascript" src="/jquery/jquery.js"></

JQuery應用例項學習 —— 11 子元素過濾器

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti

JQuery應用例項學習 —— 12 燈泡的開關切換

jQuery實現燈泡的開關切換 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF

JQuery應用例項學習 —— 13 點選後邊框不斷變大

通過操作節點css屬性來控制邊框不斷變大 <!DOCTYPE html> <html lang="en"> <head> <meta charset=

JQuery應用例項學習 —— 15 刪除和增加DOM節點

remove:刪除 empty:清空 append:在後面加 prepend:在前面加 appendTo:追加 <!DOCTYPE html> <html lang="en"

JQuery應用例項學習 —— 16 節點包裹input框與li標籤中字型加粗

 jQuery包結點 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">