我有一个自定义用户控件,我必须扩展它以添加几个新元素。在这个控件中我有几个属性已经是这样的:
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值。
答案 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));