Binding自動偵聽

2022-05-14 13:27:29 字數 965 閱讀 8227

wpf的強大之一就是資料繫結,binding是資料橋梁,它的兩端是分別是源(source)和目標(target),乙個簡單的類的屬性值發生變化,會自動反映在ui介面上,這個屬性就是binding的path路徑,那麼如何自動反映在ui介面上的呢?其實就是資料來源要實現inotifypropertychanged介面,其屬性的set語句中實現乙個propertychanged事件,當為binding設定資料來源後,binding就會自動偵聽來自這個介面的propertychanged事件

看看下面例子,類stuent實現介面,name屬性set中新增事件,這樣此name變化會反映到ui介面上

class

student : inotifypropertychanged

set

}}

用**在後台繫結到ui介面上的textbox檔案框上,如下

textbox.setbinding(textbox.textproperty,new binding("

name

"));

或在控制項上直接寫繫結:

"

textbox

" text="

" />

在初始化視窗中新增資料來源:

public

mainwindow()

;this.textbox.datacontext =student;

}student student;

在專案中,可以propertychanged事件可以提取成基類,使用**簡潔一些

class

notifyobject : inotifypropertychanged

}

在屬性中就可以這樣寫:

class

student : notifyobject

set

}}

WPF 初步使用Binding

建立乙個繫結類,實現inotifypropertychanged介面 public class notifypropertychange inotifypropertychanged endregion 具體需要繫結的類繼承notifypropertychange 類,其中需要繫結的屬性的set方法...

WPF 基礎繫結 Binding

最簡單的繫結 path 路徑 可以省略,但據說在附加屬性呼叫時省略可能存在錯誤。targetnullvalue 空預設值 當繫結資料為空時設定預設值。updatesourcetrigger 更新資料來源的觸發機制 propertychanged 內容變化 lostfocus 失去焦點 預設 expl...

Binding的資料校驗

binding的validationrules 可以每個binding 設定多個資料校驗條件。下面建立乙個規則,必須繼承抽象類 validationrule,下面規則 0 100 public class rangevalidationrule validationrule return new v...