繫結到指定名稱控制項的——>指定屬性上
**鏈結(王旭部落格 » wpf 在事件中繫結命令
): (該文章是《關於 mvvmlight 設計模式系列》中的一節)
本文主要介紹如何在wpf中實現將命令繫結到事件中,很多情況下我們都需要在某個事件觸發的時候才去觸發命令,所以將命令繫結到事件上是非常有效的做法,下面我們來接著實現將命令繫結到事件中。
引用system.windows.interactivity.dll
程式集之後,我們在view
中新增xmlns的引用如下:
xmlns:i="clr-namespace:system.windows.interactivity;assembly=system.windows.interactivity"
這樣我們就可以在view中使用它了,我在 userviewmodel.cs 中編寫了乙個 loaddatacommand 的命令來載入資料。所以按照我們之前所想做的就是在視窗 loaded 載入完之後載入資料,我們就將其命令繫結到 loaded 事件中,**如下:
eventname="loaded">
command=""/>
將這段**放在標籤之中即可,同理如果你要在其他元素中的事件進行繫結,那麼就放到其元素的標籤中即可。
usingsystem;
usingsystem.collections.generic;
usingsystem.collections.objectmodel;
usingsystem.linq;
usingsystem.text;
usingsystem.threading.tasks;
usinggalasoft.mvvmlight;
usingmymodel;
usinggalasoft.mvvmlight.command;
namespacemvvmlightdemo.viewmodel
/************** 屬性 **************/
privateobservablecollection_userdata;
///
/// 使用者資訊資料
///
publicobservablecollectionuserdata
set}
/************* 命令 ***************/
#region 新增乙個使用者命令:addusercommand
///
/// 新增乙個使用者
///
publicrelaycommandaddusercommand
//新增乙個使用者 命令執行方法
voidexecuteadduser()
//小於5條資料時命令可用
boolcanexecuteadduser()
#endregion
#region 刪除乙個使用者命令:deleteusercommand
///
/// 刪除乙個使用者
///
publicrelaycommanddeleteusercommand
//刪除乙個使用者 命令執行方法
voidexecutedeleteuser()
//最少保證有1條資料時命令可用
boolcanexecutedeleteuser()
#endregion
#region 載入資料命令:loaddatacommand
///
/// 載入資料
///
publicrelaycommandloaddatacommand
//載入使用者資料
voidexecuteloaddatacommand()
#endregion}}
這裡我編寫的loaddatacommand
與之前寫的命令的區別就是,我的relaycommand
只使用了乙個引數,並沒有去做命令的可用性的判斷。
至此,就完成了事件繫結到命令中,很簡單吧!
大家還記得麼,我們程式一共有兩個視窗,是通過mainwindow
中的乙個button
按鈕點選來開啟的userview
視窗。是如何實現的?我們在mainwindow.cs
中編寫了button
的click
事件…顯然不符合mvvm的設計模式。
WPF 將控制項繫結到變數
看了好多部落格,發現很多都不能用,嘿嘿,自己終於實現了 廢話不多說,上 xaml 如下 xmlns xmlns x xmlns d xmlns mc mc ignorable d title mainwindow height 350 width 525 loaded window loaded l...
WPF將控制項繫結到集合
什麼是集合檢視?集合檢視是位於繫結源集合頂部的一層,您可以通過它使用排序 篩選和分組查詢來導航和顯示源集合,而無需更改基礎源集合本身。集合檢視還維護著乙個指向集合中的當前項的指標。如果源集合實現了 inotifycollectionchanged 介面,則collectionchanged 事件引發...
WPF新手之如何將資料繫結到TreeView
看過許多例子,全是繫結到類的,沒人說如何繫結到某個物件,偏偏我這個絕對的新手就是要繫結到乙個物件,只能自己摸索了 首先要將資料繫結到容器,有以下幾個預設條件 元資料必須包裝在list或者observablecollection中,後者具有動態更新的功能。即,如果在程式中更改了observableco...