最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決WPF附加屬性的Set函數(shù)不調(diào)用的問題

 更新時(shí)間:2022年06月22日 10:09:06   作者:天方  
這篇文章介紹了解決WPF附加屬性的Set函數(shù)不調(diào)用的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

今天寫程序的時(shí)候用到了附加屬性,我是用VS內(nèi)置的propa的代碼段來實(shí)現(xiàn)的,代碼如下:

    class Attach
    {
        public static bool GetIsEnabled(DependencyObject obj)
        {
            return (bool)obj.GetValue(IsEnabledProperty);
        }

        public static void SetIsEnabled(DependencyObject obj, bool value)
        {
            obj.SetValue(IsEnabledProperty, value);
        }

        public static readonly DependencyProperty IsEnabledProperty =
            DependencyProperty.RegisterAttached("IsEnabled", typeof(bool), typeof(Attach), new PropertyMetadata(false));
    }

在XAML中使用的方式如下:

<Grid local:Attach.IsEnabled="true" x:Name="grid" />

但是,調(diào)試的時(shí)候卻發(fā)現(xiàn)一個(gè)問題:雖然附加屬性的值的讀取和寫入都沒有什么問題,但是按理說Attach.SetIsEnabled函數(shù)在啟動(dòng)的時(shí)候應(yīng)該會(huì)調(diào)用一次在對(duì),但卻斷點(diǎn)斷不到。加入屬性變更的回調(diào)通知時(shí),回調(diào)函數(shù)也能正常的運(yùn)行。

我在網(wǎng)上找了一些示例代碼,發(fā)現(xiàn)有有的斷點(diǎn)能斷到Set函數(shù)中,有的卻不行。然后就將示例代碼和我的代碼一一比較,最后發(fā)現(xiàn)只要在注冊(cè)附加屬性的名稱后面加一個(gè)"Property"就可以了。改成如下所示

    class Attach
    {
        public static bool GetIsEnabled(DependencyObject obj)
        {
            return (bool)obj.GetValue(IsEnabledProperty);
        }

        public static void SetIsEnabled(DependencyObject obj, bool value)
        {
            obj.SetValue(IsEnabledProperty, value);
        }

        public static readonly DependencyProperty IsEnabledProperty =
            DependencyProperty.RegisterAttached("IsEnabledProperty", typeof(bool), typeof(Attach), new PropertyMetadata(false));
    }

最開始我以為是VS提供的代碼段有問題,導(dǎo)致我生成了錯(cuò)誤的代碼,便到MSDN上去查了一下,發(fā)現(xiàn)MSDN的示例代碼頁也沒有"Property"后綴(地址:附加屬性概述)。也就是說,自動(dòng)生成的不帶"Property"后綴才是正統(tǒng)形式。雖然兩種形式的執(zhí)行結(jié)果都是一樣的,但是默認(rèn)的這種第一次不掉用Set函數(shù)行為肯定是有問題的。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

浦江县| 巴青县| 莱芜市| 郴州市| 盘锦市| 罗定市| 罗定市| 卓尼县| 石嘴山市| 肃宁县| 扶绥县| 东兴市| 蒙阴县| 鲁甸县| 石楼县| 泸溪县| 定襄县| 静安区| 铅山县| 罗定市| 临澧县| 富顺县| 沙坪坝区| 闽清县| 绍兴市| 荆门市| 北安市| 安远县| 南雄市| 临颍县| 林州市| 交口县| 昔阳县| 澄迈县| 彰化市| 惠东县| 连江县| 榆树市| 临桂县| 本溪| 琼结县|