[英]Using dependency property in WPF
我有一個從托管包裝公開的只讀.NET屬性,該包裝獲取數據庫的名稱,比方說該屬性名稱為DBName
。 DBName
可能會有所不同,具體取決於連接到WPF應用程序的數據庫。 此屬性獲取和設置器也位於托管的.NET包裝器內。 我在WPF項目中使用this(DBName)屬性。
我想在this(DBName).NET屬性上創建一個依賴項屬性,只要此DBName
更改,該屬性就會得到通知。 我想在WPF應用程序的狀態欄中顯示DBName
。
我可以這樣做嗎?
是
你將需要實現INotifyPropertyChanged的在您的包裝和調用PropertyChanged("DBName")
每次DBName
被改變。
更新資料
我認為可以通過執行一個簡單的規則來解決此問題:始終通過屬性設置。 如果您強制執行此操作,那么其他程序員就不會犯忘記調用PropertyChanged("DBName")
。
public class DBWrapper : INotifyPropertyChanged
{
public event PropertyChangedEventHandler Propertychanged;
private string dbName;
public string DBName
{
get { return dbName; }
private set
{
dbName = value;
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("DBName"));
}
}
}
public void SomeMethodThatChangesDBName()
{
DBName = "SomethingNew";
}
}
以這種方式使用代碼意味着每次更新DBName時都會調用該事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.