将 Point2D 绑定到两个单独的文本框

本文关键字:单独 两个 文本 绑定 Point2D | 更新日期: 2023-09-27 18:36:33

我有一个双精度的Point2D结构(带有x和y成员)。我想将 Point2D 的一个实例绑定到两个单独的文本框。我该怎么做?

将 Point2D 绑定到两个单独的文本框

为什么要使用结构?编写类

public class Point2D : INotifyPropertyChanged
{    
    public event PropertyChangedEventHandler PropertyChanged;
    private double _x;
    private double _y;    
    public double X
    {
        get { return _x; }
        set
        {
            _x = value;
            NotifyPropertyChanged("X");
        }
    }
    public double Y
    {
        get { return _y; }
        set
        {
            _y = value;
            NotifyPropertyChanged("Y");
        }
    }
    private void NotifyPropertyChanged(string propertyName)
    {
        var handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(propertyName));
        }
    }    
}

数据上下文中的属性

public Point2D MyPoint2D { get; set; }

以及 XAML 中的绑定

<TextBox Name="TextBoxValueX" Text="{Binding MyPoint2D.X, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Name="TextBoxValueY" Text="{Binding MyPoint2D.Y, UpdateSourceTrigger=PropertyChanged}" />

希望对您有所帮助!