91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對WPF依賴項屬性的理解

發布時間:2020-07-17 23:32:21 來源:網絡 閱讀:1143 作者:twoxzi 欄目:編程語言

    屬性和事件是.NET抽象模型的核心部分, 而WPF中則用更高級的依賴項屬性(Dependency Property)代替了原來.NET中的屬性.依賴項屬性主要應用于自定義元素中,用于為自定義元素注入自定義的屬性.

    以下是定義和注冊依賴項屬性的方法:

//聲明并注冊依賴項屬性 FoodProperty
public static DependencyProperty FoodProperty = 
    DependencyProperty.Register("Food", typeof(Food), typeof(FoodManager), new FrameworkPropertyMetadata(new PropertyChangedCallback(OnFoodChanged)));

    調用DependencyProperty.Register()靜態方法為依賴項屬性注冊,在這個方法中,有5個參數:屬性名(上面的"Food"),屬性使用的數據類型,擁有該屬性的類,一個具有附加屬性設置的FrameworkPropertyMetadata對象(上面的FrameworkPropertyMetadata對象中傳入了一個屬性改變時的回調函數),一個用于驗證屬性的回調函數. 其中,后面2個是可選的.

    然后添加屬性包裝器:

Public Food Food
{
    get{ return (Food)GetValue(FoodProperty);}
    set{ SetValue(FoodProperty,value);}
}

    如果是自定義元素,添加屬性包裝器后, 在使用控件時就能使用該屬性. 當然, 如果要在屬性變化時觸發代碼, 就要實現注冊依賴項屬性時的回調函數(本例中的OnFoodChanged()).

    上面只是依賴項屬性的部分內容, 依賴項屬性還可以插入其它WPF服務, 以及支持驗證回調和強制回調.

    PS: 當你為自定義元素注入一個枚舉類型的依賴項屬性時, 會出現一個很方便有趣的現象: VS2010的編輯器會把枚舉類型中的內容列舉出來, 以供你選擇. 就好像你給Border設置Background一樣.

    建議學習WPF的人去看《WPF編程寶典》, 內容實在太全面了, 而且每一章節都有對應的源碼.

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会泽县| 吴堡县| 定兴县| 阿克| 张家港市| 讷河市| 盐城市| 兴和县| 乌苏市| 合肥市| 山阳县| 会昌县| 淄博市| 安多县| 曲松县| 定西市| 二手房| 白沙| 临猗县| 营口市| 寿宁县| 廉江市| 新邵县| 佛山市| 东阳市| 芮城县| 晋宁县| 新野县| 灌南县| 博客| 德阳市| 富裕县| 佛坪县| 青浦区| 临洮县| 汤阴县| 克拉玛依市| 南昌县| 西平县| 尼勒克县| 交城县|