有没有办法简化WPF和Silverlight中依赖项属性的设置?

时间:2011-04-20 04:41:48

标签: wpf silverlight wpf-controls

我有一个基本的WPF / Silverlight用户控制代码,其中包含一个标签,我想设置使用该控件的代码的值。有没有办法简化依赖属性和相关事件的定义要求?看似简单的编码任务(属性,方法和相关布线)似乎非常嘈杂。

    private static DependencyProperty CountProperty;

    public MyWpfUserControl()
    {
        InitializeComponent();
        PropertyChangedCallback countChangedCallback = CountChanged;
        var metaData = new PropertyMetadata(countChangedCallback);
        CountProperty = DependencyProperty.Register("Count", typeof (int), typeof (MyWpfUserControl), metaData);
    }

    public int ItemsCount
    {
        get { return (int) GetValue(CountProperty); }
        set { SetValue(CountProperty, value); }
    }

    private void CountChanged(DependencyObject property,
                              DependencyPropertyChangedEventArgs args)
    {
        // Set the value of another control to this property
        label1.Content = ItemsCount;
    }

1 个答案:

答案 0 :(得分:1)

你确定依赖属性是丑陋和笨拙的,你是对的。事实上,在上面的代码示例中,甚至存在错误!你需要打电话给医生 - WPF博士!

以下是WPF博士的所有依赖属性风格的片段:

他的网站上还有视频显示他正在使用它们。老实说,我自己不使用它们,但我一直想尝试一下。我执行使用内置代码段。