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

WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

這篇具有很好參考價(jià)值的文章主要介紹了WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

命令/事件的綁定

除了數(shù)據(jù)綁定,mvvm中更重要的另一塊就是命令和事件的綁定,wpf中關(guān)于按鈕Button、菜單項(xiàng)MenuItem等關(guān)于點(diǎn)擊交互的事件,可以通過命令Command在ViewModel 中實(shí)現(xiàn)。

基本的命令綁定

示例:在Button上綁定命令

在ViewModel中添加命令和具體執(zhí)行的內(nèi)容


public CommandBase UpdateCommand
 {
     get
     {
         return new CommandBase(obj =>
         {
             Name = NewName;
         });
     }
 }

在Button上進(jìn)行綁定

<Button
            Command="{Binding UpdateCommand}"
            Content="更新" />

運(yùn)行:
WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定
執(zhí)行后:
WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

命令綁定傳入?yún)?shù)

Button上定義CommandParameter屬性

 <Button
         
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Command="{Binding UpdateCommand}"
            CommandParameter="我是參數(shù)"
            Content="更新" />

在ViewModel的命令中,通過obj接收傳入的參數(shù)

 public CommandBase UpdateCommand
        {
            get
            {
                return new CommandBase(obj =>
                {
                    Name = obj.ToString()+"---"+NewName;
                });
            }
        }

執(zhí)行后的效果:
WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

傳入控件的屬性參數(shù)

將控件屬性或者控件本身(如果傳入控件本身在Path后面填.Path=.)當(dāng)做參數(shù)傳入在CommandParameter中綁定ElementName對(duì)應(yīng)控件的name,和屬性名稱

格式:

CommandParameter="{Binding ElementName=ControlName(控件name), Path=PorpertyName(控件屬性名)}"

        <Button
            Width="62"
            Height="22"
            Margin="104,182,0,0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Command="{Binding UpdateCommand}"
            CommandParameter="{Binding ElementName=TestTxt, Path=Text}"
            Content="更新" />
        <TextBox
            Name="TestTxt"
            Width="120"
            Margin="76,280,0,0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Text="TextBox參數(shù)"
            TextWrapping="Wrap" />

運(yùn)行效果:
WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

其他事件綁定

除了點(diǎn)擊事件通過Command綁定之外,想要綁定其他命令如MouseEnter、SelectionChanged等事件,則需要導(dǎo)入專門的nuget包

WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

安裝Nuget包

安裝Microsoft.Xaml.Behaviors.Wpf
支持net framework4.5以上和Net core包括net5,6,7
如果使用舊版本net framework則需要安裝System.Windows.Interactivity.WPF

WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

使用

引入命名空間

 xmlns:i="http://schemas.microsoft.com/xaml/behaviors"

在控件上添加觸發(fā)器

 <i:Interaction.Triggers>
                <i:EventTrigger EventName="MouseEnter">
                    <i:InvokeCommandAction Command="{Binding StatusCommand}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>

WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定
命令跟之前一樣定義

public CommandBase StatusCommand
{
    get
    {
        return new CommandBase(obj =>
        {
            Status = "鼠標(biāo)進(jìn)入";
        });
    }
}

效果:在鼠標(biāo)進(jìn)入時(shí),右側(cè)TextBlock顯示鼠標(biāo)進(jìn)入

WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

其他的如ComboBox選擇事件

 <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding ChangedCommand}" CommandParameter="{Binding ElementName=Cbox, Path=SelectedItem}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>

WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定
效果:選項(xiàng)變化,Text跟隨變化
WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定

特殊事件

如要綁定Button的鼠標(biāo)按下和抬起,不能綁定MouseDownMouseUp,而是要綁定PreviewMouseDownPreviewMouseUp

命令綁定示例-源碼下載文章來源地址http://www.zghlxwxcb.cn/news/detail-484668.html

到了這里,關(guān)于WPF MVVM基礎(chǔ)教程(三)命令/事件的綁定的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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中TextBox使用KeyBinding綁定命令,鍵盤事件

    ? ? 最近在做一個(gè)掃碼槍識(shí)別條形碼的功能,TextBox文本按回車鍵或者是掃碼槍識(shí)別條形碼自動(dòng)觸發(fā)查詢功能,由于架構(gòu)采用的是MVVM的開發(fā)模式,所以,剛開始采用KeyBinding的方式綁定命令,然后實(shí)現(xiàn)該功能;代碼如下: 對(duì)應(yīng)的ViewModel中綁定命令事件,代碼如下所示 ? ? 初步

    2024年02月14日
    瀏覽(42)
  • 關(guān)于WPF中Command綁定傳參數(shù)以及將命令綁定到其它事件的方法

    關(guān)于WPF中Command綁定傳參數(shù)以及將命令綁定到其它事件的方法

    前言:在WPF中,將命令綁定到一個(gè)Button的Command屬性中是非常簡(jiǎn)單的事情,例如: 但是很多時(shí)候,我們要實(shí)現(xiàn)其它事件的命令綁定,以此實(shí)現(xiàn)徹底的MVVM開發(fā)模式,那就得用到微軟另外一個(gè)神器了!它就是程序集System.Windows.Interactivity,在網(wǎng)上可以下載System.Windows.Interactivity.dll這

    2024年02月11日
    瀏覽(25)
  • WPF控件:密碼框綁定MVVM

    以下是一種使用 MVVM 模式的方法: 首先,在 ViewModel 中添加一個(gè)屬性來保存密碼,我們可以使用 SecureString 類型。 ? 創(chuàng)建一個(gè)附加屬性來處理 PasswordBox 的密碼變化,并將其綁定到 ViewModel 中的命令。 ? 在 XAML 中,使用行為觸發(fā)器來觸發(fā)命令。 查看密碼框的內(nèi)容。 ? ? ?

    2024年04月24日
    瀏覽(25)
  • MVVM架構(gòu)下wpf的密碼框綁定

    背景:TextBox可以很輕松地對(duì)Text使用Binding,綁定ViewModel類里面的屬性 ? ? ? ? 即:Text=\\\"{Binding LoginId}\\\"/ ? ? ? ? 但是使用PasswordBox的密碼框就不行了,因?yàn)闆]有Text這個(gè)屬性 那么就要自己實(shí)現(xiàn)一個(gè)PasswordBox的幫助類了 第一步添加Helper類 第二步:到xaml中使用幫助類添加PasswordB

    2024年02月09日
    瀏覽(23)
  • 【.NET6+WPF】WPF使用prism框架+Unity IOC容器實(shí)現(xiàn)MVVM雙向綁定和依賴注入

    【.NET6+WPF】WPF使用prism框架+Unity IOC容器實(shí)現(xiàn)MVVM雙向綁定和依賴注入

    前言:在C/S架構(gòu)上,WPF無疑已經(jīng)是“桌面一霸”了。在.NET生態(tài)環(huán)境中,很多小伙伴還在使用Winform開發(fā)C/S架構(gòu)的桌面應(yīng)用。但是WPF也有很多年的歷史了,并且基于MVVM的開發(fā)模式,受到了很多開發(fā)者的喜愛。 并且隨著工業(yè)化的進(jìn)展,以及幾年前微軟對(duì).NET平臺(tái)的開源,國(guó)內(nèi)大多

    2024年02月06日
    瀏覽(28)
  • 工控視覺項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)綁定

    工控視覺項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)綁定

    工控視覺項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)綁定。 除了兩個(gè)柱狀圖用的第三方開源控件,其他都是原生自己寫的,非常適合初學(xué)者熟悉語法、事件、觸發(fā)器、MVVM 機(jī)制、布局容器,方便二次開發(fā)和修改 工控視覺項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)

    2024年02月20日
    瀏覽(21)
  • WPF 綁定binding都有哪些事件

    主要包含以下幾個(gè)事件: 1.?UpdateSourceTrigger:用于控制數(shù)據(jù)綁定如何更新源數(shù)據(jù)的事件 PropertyChanged:每當(dāng)目標(biāo)屬性的值更改時(shí),將立即更新源屬性。 LostFocus:當(dāng)目標(biāo)元素失去焦點(diǎn)時(shí),更新源屬性。 Explicit:只有在調(diào)用BindingExpression.UpdateSource方法時(shí)才會(huì)更新源屬性。 Default:與

    2024年02月05日
    瀏覽(22)
  • 循序漸進(jìn)介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā)(11) -- 下拉列表的數(shù)據(jù)綁定以及自定義系統(tǒng)字典列表控件

    循序漸進(jìn)介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā)(11) -- 下拉列表的數(shù)據(jù)綁定以及自定義系統(tǒng)字典列表控件

    在我們開發(fā)的前端項(xiàng)目中,往往為了方便,都需對(duì)一些控件進(jìn)行自定義的處理,以便實(shí)現(xiàn)快速的數(shù)據(jù)綁定以及便捷的使用,本篇隨筆介紹通過抽取常見字典列表,實(shí)現(xiàn)通用的字典類型綁定;以及通過自定義控件的屬性處理,實(shí)現(xiàn)系統(tǒng)字典內(nèi)容的快捷綁定的操作。 在我們創(chuàng)建下

    2024年02月08日
    瀏覽(20)
  • WPF真入門教程23--MVVM簡(jiǎn)單介紹

    WPF真入門教程23--MVVM簡(jiǎn)單介紹

    ? ? ? ? 在WPF開發(fā)中,經(jīng)典的編程模式是MVVM,是為WPF量身定做的模式,該模式充分利用了WPF的數(shù)據(jù)綁定機(jī)制,最大限度地降低了Xmal文件和CS文件的耦合度,也就是UI顯示和邏輯代碼的耦合度,如需要更換界面時(shí),邏輯代碼修改很少,甚至不用修改。與WinForm開發(fā)相比,我們一般

    2024年02月03日
    瀏覽(22)
  • 【W(wǎng)PF】異步任務(wù)更新UI、綁定命令、綁定字符串屬性

    【W(wǎng)PF】異步任務(wù)更新UI、綁定命令、綁定字符串屬性

    WPF異步任務(wù) 主界面 在視圖模型中定義命令: 在主界面xaml中綁定命令: ?創(chuàng)建命令實(shí)例:

    2024年02月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包