WPF:UserControl和Page中的绑定

时间:2018-03-07 09:49:00

标签: wpf

我无法正确绑定到页面中的UserControl属性。

我有这个UserControl:

<UserControl x:Class="xxxx.NumericBox" (...)>
    <TextBox Name="TextBoxValue" Text="{Binding RelativeSource {RelativeSource AncestorType=UserControl}, Path=Value, Mode=TwoWay}" (...)

这背后的代码:

  public partial class NumericBox : UserControl
  {

    public NumericBox()
    {
      InitializeComponent();
    }

    public uint? Value
    {
      get => (uint?)GetValue(ValueProperty);
      set => SetValue(ValueProperty, value);
    }

    public static readonly DependencyProperty ValueProperty = DependencyProperty.Register("Value", typeof(uint?), typeof(NumericBox), new PropertyMetadata(null));

UserControl包含其他与Value属性(+/-)相互作用的控件,它可以正常工作。

但是我创建了DependencyProperty来绑定父页面中的值。

我注入UserControl的页面中的代码示例:

var binding = new Binding("Line.Quantity");
binding.Mode = BindingMode.TwoWay;
var numeric = new NumericBox();
numeric.SetBinding(ValueProperty, binding);

绑定在启动时有效但在我修改文本框时没有更新Line.Quantity ... Line类实现INotifyPropertyChanged并通知Quantity上的更改。

这样做的正确方法是什么?

我看过这个问题但是我无法纠正我的代码: Binding on DependencyProperty of custom User Control not updating on change

0 个答案:

没有答案