国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器

這篇具有很好參考價(jià)值的文章主要介紹了WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

官方文檔

往期回顧

零基礎(chǔ)筆記

WPF 零基礎(chǔ)入門(mén)筆記(0):WPF簡(jiǎn)介

項(xiàng)目實(shí)戰(zhàn)(已完結(jié))

WPF MaterialDesign 初學(xué)項(xiàng)目實(shí)戰(zhàn)(0):github 項(xiàng)目Demo運(yùn)行
WPF MaterialDesign 初學(xué)項(xiàng)目實(shí)戰(zhàn)(1)首頁(yè)搭建
WPF MaterialDesign 初學(xué)項(xiàng)目實(shí)戰(zhàn)(2)首頁(yè)導(dǎo)航欄樣式
WPF MaterialDesign 初學(xué)項(xiàng)目實(shí)戰(zhàn)(3)動(dòng)態(tài)側(cè)邊欄
WPF MaterialDesign 初學(xué)項(xiàng)目實(shí)戰(zhàn)(4)側(cè)邊欄路由管理
WPF MaterialDesign 初學(xué)項(xiàng)目實(shí)戰(zhàn)(5):設(shè)計(jì)首頁(yè)
WPF MaterialDesign 初學(xué)項(xiàng)目實(shí)戰(zhàn)(6):設(shè)計(jì)首頁(yè)(2),設(shè)置樣式觸發(fā)器。已完結(jié)

WPF項(xiàng)目創(chuàng)建

我們這里選擇.net core版本的WPF

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器
WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器

為什么選net core版本

.NET core是以后.NET 發(fā)展的方向。
.NET core 特點(diǎn)

  • 微軟主推的方向,.NET framework目前只有維護(hù)性更新
  • 跨平臺(tái),雖然WPF不能跨平臺(tái),但是你以后寫(xiě)MAUI,控制臺(tái)程序,WEBAPI,都可以在Linux端運(yùn)行。跨平臺(tái)主要就是跨linux,方便項(xiàng)目部署。
  • 配套的生態(tài)都已經(jīng)從NET Framework 遷移過(guò)來(lái)了。
  • 你都選擇WPF而不是 winform,那順便多學(xué)一點(diǎn)唄

WPF 靜態(tài)頁(yè)面

如果學(xué)過(guò)web端,我這里就拿Web端來(lái)進(jìn)行比較。
web包含:html,css,JS。

  • html:聲明有什么元素
  • CSS:讓界面更加好看
  • JS:頁(yè)面邏輯代碼

在WPF中,分離會(huì)更加徹底。WPF包含Xmal和C#。

  • Xmal:聲明元素,聲明樣式,負(fù)責(zé)交互邏輯
    • 對(duì)應(yīng)Web端的 Html+CSS+簡(jiǎn)單頁(yè)面交互
  • C#:復(fù)雜頁(yè)面交互和業(yè)務(wù)邏輯

控件我就略過(guò)了,沒(méi)什么好說(shuō)的,就是按鈕,文本,輸入框。參數(shù)自己去了解一下。不占用太多篇幅

比如Button類(lèi)
WPF Button
但是我只能說(shuō),微軟的文檔寫(xiě)的一坨狗屎,第一我查不到WPF專(zhuān)門(mén)的

WPF 頁(yè)面布局

我之前寫(xiě)過(guò),就不重復(fù)寫(xiě)了。

WPF:WPF原生布局說(shuō)明

WPF樣式

我們輸入

        <Style>
			<S   //出現(xiàn)提示
        </Style>

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器
這里我們可以看到有好幾種樣式

  • Style.Setters
    • Style樣式:類(lèi)似于CSS,用于設(shè)置頁(yè)面的形象
  • Style.Tirggers
    • 觸發(fā)器,用于設(shè)置簡(jiǎn)單的交互
  • Sytle.Resource
    • 資源,沒(méi)怎么用過(guò)

Style樣式

如果安裝CSS的方式來(lái)說(shuō),WPF分為行內(nèi)樣式和行外樣式

效果,生成如下圖片

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器

行內(nèi)樣式

<Rectangle Width="200"
                   Height="160"
                   Stroke="Blue">
            <Rectangle.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">//使用行內(nèi)標(biāo)簽來(lái)對(duì)代碼進(jìn)行優(yōu)化
                    <LinearGradientBrush.GradientStops>
                        <GradientStop Offset="0.2"
                                      Color="LightBlue" />
                        <GradientStop Offset="0.7"
                                      Color="DarkBlue" />
                        <GradientStop Offset="1.0"
                                      Color="LightBlue" />
                    </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>

行外樣式

如果是簡(jiǎn)單樣式,可以這么寫(xiě)
        <Style x:Key="MyButton"
               TargetType="Button">
            <Style.Setters>
                <Setter Property="Content"
                        Value="" />
            </Style.Setters>
        </Style>
如果是復(fù)雜樣式
 <Window.Resources>
        <!--x:Key為樣式的名稱(chēng),TargetType是樣式生效的目標(biāo)-->
        <Style x:Key="MyRectFill" TargetType="Rectangle">
        <!--Style是樣式設(shè)置-->
            <Style.Setters>
            <!--設(shè)置Recangle的Fill屬性。使用Property=屬性,Value=值的形式-->
                <Setter Property="Fill" >
                    <Setter.Value><!--對(duì)應(yīng)的樣式屬性,如果Value是簡(jiǎn)單字符串,可以不展開(kāi)-->
                        <LinearGradientBrush StartPoint="0,0"
                                             EndPoint="1,1">
                            <GradientStop Offset="0.2"
                                          Color="LightBlue" />
                            <GradientStop Offset="0.7"
                                          Color="DarkBlue" />
                            <GradientStop Offset="1.0"
                                          Color="LightBlue" />
                        </LinearGradientBrush>
                    </Setter.Value>
                </Setter>
            </Style.Setters>
        </Style>
    </Window.Resources>
    <Grid>
        <Rectangle Width="200"
                   Height="160"
                   Stroke="Blue" Style="{StaticResource MyRectFill}" >
        </Rectangle>
    </Grid>

WPF樣式繼承

一個(gè)簡(jiǎn)單的按鈕

    <Window.Resources>
        <Style x:Key="MyButton"
               TargetType="Button">
            <Style.Setters>
                <Setter Property="Content"
                        Value="按鈕" />
                <Setter Property="Width" Value="100"/>
                <Setter Property="Height" Value="30"/>
            </Style.Setters>
        </Style>
    </Window.Resources>
    <Grid>
        <Button  Style="{StaticResource MyButton}"/>
    </Grid>

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器

 <Window.Resources>
        <Style x:Key="MyButton"
               TargetType="Button">
            <Style.Setters>
                <Setter Property="Content"
                        Value="按鈕" />
                <Setter Property="Width" Value="100"/>
                <Setter Property="Height" Value="30"/>
            </Style.Setters>
        </Style>
        <!--使用繼承,繼承MyButton-->
        <Style x:Key="MyButton2" BasedOn="{StaticResource MyButton}"  TargetType="Button">
            <Style.Setters >
                <Setter Property="Background"
                        Value="Yellow" />
                <Setter Property="BorderBrush" Value="Red"/>
            </Style.Setters>
        </Style>
    </Window.Resources>
    <Grid>
        <Button  Style="{StaticResource MyButton2}"/>
    </Grid>

效果

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器

WPF觸發(fā)器

WPF觸發(fā)器用于簡(jiǎn)單的交互邏輯
WPF為了實(shí)現(xiàn)業(yè)務(wù)和界面邏輯盡可能的分離,在Xmal中可以實(shí)現(xiàn)簡(jiǎn)單的交互邏輯和頁(yè)面元素溝通。而簡(jiǎn)單的交互邏輯就是通過(guò)WPF觸發(fā)器來(lái)實(shí)現(xiàn)的

單條件觸發(fā)器

這里設(shè)計(jì)一個(gè)簡(jiǎn)單的觸發(fā)器,通過(guò)鼠標(biāo)懸停事件來(lái)進(jìn)行區(qū)分。

 <Window.Resources>
        <Style x:Key="MyButton" TargetType="Button">
            <!--設(shè)置觸發(fā)器-->
            <Style.Triggers>
                <!--當(dāng)鼠標(biāo)停留屬性為T(mén)ure時(shí)-->
                <Trigger Property="IsMouseOver"
                         Value="True">
                    <Setter Property="Foreground"
                            Value="Red" />
                    <Setter Property="FontSize"
                            Value="30" />
                </Trigger>
                <!--當(dāng)鼠標(biāo)停留事件為False時(shí)-->
                <Trigger Property="IsMouseOver"
                         Value="False">
                    <Setter Property="Foreground"
                            Value="Blue" />
                    <Setter Property="FontSize"
                            Value="20" />
                </Trigger>
            </Style.Triggers>
        </Style>

    </Window.Resources>
    <Grid>
        <Button Width="100"
                Height="50"
                Content="按鈕"
                Style="{StaticResource MyButton}" />
    </Grid>

實(shí)現(xiàn)效果

WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-507260.html

多條件觸發(fā)
<Window.Resources>
        <Style x:Key="MyButton" TargetType="Button">
            <!--設(shè)置觸發(fā)器-->
            <Style.Triggers>
                <!--多條件觸發(fā)-->
                <MultiTrigger>
                    <!--當(dāng)鼠標(biāo)懸停+鼠標(biāo)點(diǎn)擊時(shí),字體顏色變紅-->
                    <MultiTrigger.Conditions>
                        <Condition Property="IsMouseOver"
                                   Value="True" />
                        <Condition Property="IsFocused"
                                   Value="True" />
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="Foreground" Value="Red"/>
                    </MultiTrigger.Setters>
                </MultiTrigger>
            </Style.Triggers>
        </Style>

    </Window.Resources>
    <Grid>
        <Button Width="100"
                Height="50"
                Content="按鈕"
                Style="{StaticResource MyButton}" />
    </Grid>

到了這里,關(guān)于WPF 零基礎(chǔ)入門(mén)筆記(1):WPF靜態(tài)頁(yè)面,布局+樣式+觸發(fā)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • WPF 入門(mén)筆記 - 02 - 布局綜合應(yīng)用

    WPF 入門(mén)筆記 - 02 - 布局綜合應(yīng)用

    本篇博文對(duì)接上篇末尾處WPF常用布局控件的綜合應(yīng)用,為痕跡g布局控件介紹課后作業(yè)的一個(gè)思路方法。 首先來(lái)談一談布局原則: WPF 窗口只能包含一個(gè)元素(Window元素屬于內(nèi)容控件,內(nèi)容控件只允許有一個(gè)子元素),所以我們得在窗口中放置一個(gè)容器,才能使我們的窗口放置更

    2024年02月06日
    瀏覽(29)
  • [前端系列第2彈]CSS入門(mén)教程:從零開(kāi)始學(xué)習(xí)Web頁(yè)面的樣式和布局

    在這篇文章中,我將介紹CSS的基本概念、語(yǔ)法、選擇器、屬性和值,以及如何使用它們來(lái)定義Web頁(yè)面的外觀和布局。還將給一些簡(jiǎn)單而實(shí)用的例子,可以跟著我一步一步地編寫(xiě)自己的CSS樣式表。 目錄 一、什么是CSS 二、CSS的語(yǔ)法 三、CSS的選擇器 四、CSS的屬性和值 (一)顏色

    2024年02月13日
    瀏覽(90)
  • flutter基礎(chǔ)入門(mén)教程(Dart語(yǔ)法+UI布局+頁(yè)面路由+后端連接)

    flutter基礎(chǔ)入門(mén)教程(Dart語(yǔ)法+UI布局+頁(yè)面路由+后端連接)

    1、環(huán)境安裝 1基礎(chǔ)安裝步驟教程 Android Studio安裝與配置 https://juejin.cn/post/6844904054569582605 安裝Android Studio前,需要先選擇安裝Java環(huán)境,Java需要到Oracle官網(wǎng)上下載安裝,需要注冊(cè)一個(gè)Oracle賬號(hào)。 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html Windows 10 配置Java 環(huán)境變量

    2024年02月03日
    瀏覽(30)
  • Vue3 入門(mén)筆記 ---- 利用Element Plus對(duì)頁(yè)面進(jìn)行布局劃分以及實(shí)現(xiàn)左側(cè)公共菜單

    Vue3 入門(mén)筆記 ---- 利用Element Plus對(duì)頁(yè)面進(jìn)行布局劃分以及實(shí)現(xiàn)左側(cè)公共菜單

    這個(gè)系列的筆記重點(diǎn)會(huì)放在怎么樣利用Vue3把項(xiàng)目架設(shè)起來(lái)并跟后端API互動(dòng),不會(huì)介紹Vue的基礎(chǔ)特性,關(guān)于Vue的基礎(chǔ)特性可以參考這個(gè)視頻四個(gè)小時(shí)帶你快速入門(mén)Vue,我是看這個(gè)入門(mén)的,覺(jué)得還不錯(cuò)。 代碼地址: https://github.com/yexia553/vue_study/tree/%E9%85%8D%E7%BD%AEvue-router/vue3-note

    2024年02月04日
    瀏覽(28)
  • CSS樣式前端HTML頁(yè)面常用CSS效果實(shí)現(xiàn)及其相關(guān)配置信息------前端入門(mén)基礎(chǔ)教程

    !DOCTYPE html !-- 這是HTML的注釋 -- html lang=\\\"en\\\" id=\\\"myHtml\\\" ?? ?head ?? ??? ?!-- 這里不是設(shè)置了編碼,而是告訴瀏覽器,用什么編碼方式打開(kāi)文件避免亂碼 -- ?? ??? ?meta charset=\\\"UTF-8\\\" ?? ??? ?meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\" ?? ??? ?titleHtmlAll/title ?? ??? ?

    2024年02月05日
    瀏覽(35)
  • WPF 入門(mén)筆記 - 04 - 數(shù)據(jù)綁定 - 補(bǔ)充內(nèi)容:資源基礎(chǔ)

    WPF 入門(mén)筆記 - 04 - 數(shù)據(jù)綁定 - 補(bǔ)充內(nèi)容:資源基礎(chǔ)

    宇宙很大,生活更大,也許以后還有緣相見(jiàn)。 --三體 ?? ?? 該篇作為[WPF 入門(mén)筆記 - 04 - 數(shù)據(jù)綁定] - Additional Content 章節(jié)的補(bǔ)充內(nèi)容 XAML 資源概述 (WPF .NET) WPF中的每一個(gè)元素都有一個(gè) Resources 屬性,該屬性存儲(chǔ)了一個(gè)資源字典集合。一般來(lái)說(shuō),可以把WPF的資源按照不同的性質(zhì)分

    2024年02月11日
    瀏覽(23)
  • WPF 零基礎(chǔ)入門(mén)筆記(3):數(shù)據(jù)綁定詳解(更新中)

    WPF 零基礎(chǔ)入門(mén)筆記(3):數(shù)據(jù)綁定詳解(更新中)

    WPF基礎(chǔ)知識(shí)博客專(zhuān)欄 WPF微軟文檔 WPF控件文檔 B站對(duì)應(yīng)WPF數(shù)據(jù)綁定視頻教程 我們?cè)谥暗奈恼轮?,詳?xì)解釋了數(shù)據(jù)模版和控件模板。簡(jiǎn)單來(lái)說(shuō)數(shù)據(jù)模板和控件模板就是為了解決代碼重復(fù)的問(wèn)題。我們可以回顧一下之前的所有內(nèi)容。 為了不寫(xiě)重復(fù)的樣式,WPF提供了樣式設(shè)置 為了

    2024年02月11日
    瀏覽(54)
  • 項(xiàng)目難點(diǎn):解決IOS調(diào)起軟鍵盤(pán)之后頁(yè)面樣式布局錯(cuò)亂問(wèn)題

    項(xiàng)目難點(diǎn):解決IOS調(diào)起軟鍵盤(pán)之后頁(yè)面樣式布局錯(cuò)亂問(wèn)題

    需求背景 : ? ? 開(kāi)發(fā)了一個(gè)類(lèi)似問(wèn)卷星的問(wèn)卷系統(tǒng)并重構(gòu)的項(xiàng)目,剛開(kāi)始開(kāi)發(fā)的為? PC 端 ,其中最頭疼的一點(diǎn)無(wú)非就是 IE 瀏覽器的兼容適配性問(wèn)題; ? ? 再之后項(xiàng)目經(jīng)理要求同步進(jìn)行開(kāi)發(fā)? 移動(dòng)端? ,簡(jiǎn)單的說(shuō)就是寫(xiě) H5 頁(yè)面,到時(shí)候會(huì)內(nèi)嵌在 App 應(yīng)用、辦公系統(tǒng) 或 小程序

    2024年02月04日
    瀏覽(17)
  • 項(xiàng)目難點(diǎn):解決IOS調(diào)用起軟鍵盤(pán)之后頁(yè)面樣式布局錯(cuò)亂問(wèn)題

    項(xiàng)目難點(diǎn):解決IOS調(diào)用起軟鍵盤(pán)之后頁(yè)面樣式布局錯(cuò)亂問(wèn)題

    需求背景 : ? ? 開(kāi)發(fā)了一個(gè)類(lèi)似問(wèn)卷星的問(wèn)卷系統(tǒng)并重構(gòu)的項(xiàng)目,開(kāi)始開(kāi)發(fā)的? PC 端 ,其中最頭疼的一點(diǎn)無(wú)非就是 IE 瀏覽器的兼容適配性問(wèn)題; ? ? 再之后項(xiàng)目經(jīng)理要求同步進(jìn)行開(kāi)發(fā)? 移動(dòng)端? ,簡(jiǎn)單的說(shuō)就是寫(xiě) H5 頁(yè)面,到時(shí)候會(huì)內(nèi)嵌在 App 應(yīng)用或 小程序 里,剛開(kāi)始都是

    2024年02月12日
    瀏覽(17)
  • 用html實(shí)現(xiàn)一個(gè)靜態(tài)登陸頁(yè)面-可根據(jù)需求更改樣式

    用html實(shí)現(xiàn)一個(gè)靜態(tài)登陸頁(yè)面-可根據(jù)需求更改樣式

    一、創(chuàng)建html文件,vscode下載相關(guān)插件 我們先選擇一個(gè)文件夾創(chuàng)建login.html,.之前的文件命無(wú)所謂,.之后就必須為html或者h(yuǎn)tm。 在編輯改文件輸入!且出現(xiàn)提示后按回車(chē)或按tab快捷生成基礎(chǔ)代碼。 然后我們下載一個(gè)可以方便我們開(kāi)發(fā)的插件。 搜索之后點(diǎn)擊一下然后下載即可。

    2024年02月04日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包