日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF-Interaction.Triggers

發(fā)布時間:2023/12/3 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF-Interaction.Triggers 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

??? 本次所分享的是Interaction.Triggers,Interaction.Triggers到底是什么呢?有什么用?Interaction.Triggers其實(shí)是WPF中的一種觸發(fā)器,其作用是交互,所以它又叫交互觸發(fā)器。

??? 其實(shí)一般情況下用到這種特殊的交互觸發(fā)器,在不太需要的情況下是不會去使用。那究竟在什么時候使用呢?當(dāng)WPFmvvm模式下某個控件或其他:好比如Button的點(diǎn)擊事件,在mvvm模式下Button的點(diǎn)擊事件有時候是不可以直接使用ICommand的,這時候這中特殊手段就對mvvm模式非常有用,但是在使用Interaction.Triggers之前我們的項(xiàng)目還需要添加一個引用:

System.Windows.Interactivity.dll

接下來直接進(jìn)入步驟:

以Button舉個例子:

首先引用System.Window.Interactivity.dll

在您的xaml(UserControl或者是Window)添加這個特性

<UserControl x:Class="……………"

??????????? ?xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

??????????? ?xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

??????????? ?xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

?????????? ?Height="500" Width="800">

或者:

<UserControl x:Class="Afterall_MVVM.Views.TPIstorageManagement"

??????????? ?xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

??????????? ?xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

??????????? ?xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

?????????? ?Height="500" Width="800">

?

接下來就在需要的地方,比如某個不小心的Button

<Button Height="18" Width="18" Margin="5 0 0 0">

??????????????????????????????????????? <i:Interaction.Triggers>

??????????????????????????????????????????? <i:EventTrigger EventName="Click">

??????????????????????????????????????????????? <i:InvokeCommandAction Command="{Binding tvSupplierCommand}"/>

??????????????????????????????????????????? </i:EventTrigger>

??????????????????????????????????????? </i:Interaction.Triggers>

??????????????????????????????????? </Button>

?

這里EventName中是放想要執(zhí)行的事件,好比如想要個雙擊事件MouseDoubleClick也可以是Click

然后再ViewModel中創(chuàng)建pulic方法

  • 構(gòu)造函數(shù)
  • public void TPIstorageInit()

    ??????? {

    ??????????? //打開供應(yīng)商

    ??????????? tvSupplierCommand = new RelayCommand(tvSupplier);

    ??????? }

  • 命令
  • public RelayCommand tvSupplierCommand { get; set; }

  • public
  • //打開選項(xiàng)數(shù)據(jù)表格

    ??????? public void tvSupplier()

    ??????? {

    ??????????? SupplierAddWindow my = new SupplierAddWindow();

    ??????????? var myViewModel = (my.DataContext as SupplierAddViewModes);

    ??????????? my.ShowDialog();

    ??????? }

    ?

    附圖:

    ?

    ?

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的WPF-Interaction.Triggers的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。