簡體   English   中英

在WPF中使用依賴項屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM