Binding 绑定到子属性

Binding 绑定到子属性,binding,Binding,我构建了一个名为Fraction的结构,它有三个属性:双值、整数分子和整数分母。在我的数据源中,我使用分数作为属性,分数位置 数据的绑定方式如下: <TextBox Text="{Binding Path=Position.Numerator}"/> <TextBox Text="{Binding Path=Position.Denominator}"/> 但是绑定只以一种方式工作——从源到目标。我试图捕获SourceUpdate事件,但没有成功 有没有办法

我构建了一个名为Fraction的结构,它有三个属性:双值、整数分子和整数分母。在我的数据源中,我使用分数作为属性,分数位置

数据的绑定方式如下:

  <TextBox Text="{Binding Path=Position.Numerator}"/>
  <TextBox Text="{Binding Path=Position.Denominator}"/>

但是绑定只以一种方式工作——从源到目标。我试图捕获SourceUpdate事件,但没有成功


有没有办法强制双向绑定?我尝试了Mode=TwoWay,但它也不起作用。

您可能必须创建
位置
作为一个依赖属性,以便在目标更新源时也能更新

编辑

请检查它应该是什么样的

public static readonly DependencyProperty PositionProperty = DependencyProperty.Register("Position", typeof(Fraction), typeof(NoteUserControl),new UIPropertyMetadata(new Fraction()));

public Fraction Position
        {
            get { return (Fraction)GetValue(PositionProperty ); }
            set 
            { 
                SetValue(PositionProperty, value); 

            }
        }

HopeNoteUserControl是您在其中定义依赖项属性的类

您可能必须将
位置
创建为依赖项属性,以便在目标更新源更新时也能更新

编辑

请检查它应该是什么样的

public static readonly DependencyProperty PositionProperty = DependencyProperty.Register("Position", typeof(Fraction), typeof(NoteUserControl),new UIPropertyMetadata(new Fraction()));

public Fraction Position
        {
            get { return (Fraction)GetValue(PositionProperty ); }
            set 
            { 
                SetValue(PositionProperty, value); 

            }
        }

HopeNoteUserControl是定义依赖属性的类

我添加了这行:公共静态只读DependencyProperty PositionProperty=DependencyProperty.Register(“位置”、类型(分数)、类型(NoteUserControl));而且绑定根本不起作用@gideonrv请看编辑我试过了,有UIPropertyMetadata也有,没有,但仍然不起作用。我希望,作为一名音乐家,你会喜欢我的项目。这是一架MIDI钢琴。请向……问好gideonrv@raveh.org.I增加了这一行:public static readonly dependencProperty PositionProperty=dependencProperty.Register(“位置”、typeof(分数)、typeof(NoteUserControl));而且绑定根本不起作用@gideonrv请看编辑我试过了,有UIPropertyMetadata也有,没有,但仍然不起作用。我希望,作为一名音乐家,你会喜欢我的项目。这是一架MIDI钢琴。请向……问好gideonrv@raveh.org.