更新绑定依赖属性

时间:2017-03-14 14:32:21

标签: c# xaml dependency-properties

我有一个自定义用户控件,我必须扩展它以添加几个新元素。在这个控件中我有几个属性已经是这样的:

public static readonly DependencyProperty CountProperty =
        DependencyProperty.Register("CountProperty ", typeof(int), typeof(SomeThirdPartyControl), new PropertyMetadata(0));

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

并添加了几个像这样的项目

var textBlockFactory = new FrameworkElementFactory(typeof(TextBlock));
            textBlockFactory.SetValue(TextBlock.TextProperty, new Binding(nameof(Count)));

我还有一个更新方法,它基本上就像:

Count = items.Count;

当计数更新时,我希望更新UI。但是,textBlockFactory中的值似乎永远不会更新。

如何确保在依赖项属性更改时确保更新FrameworkElement值。

1 个答案:

答案 0 :(得分:0)

尝试将DependencyProperty设置为默认绑定TwoWay,如@Arie所说:

类似的东西:

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

        public static readonly DependencyProperty CountProperty =
            DependencyProperty.Register("Count" , typeof(int) , 
                typeof(SomeThirdPartyControl) ,
                  new FrameworkPropertyMetadata(0 ,
                       FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));