新手學習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">