0

double の Point2D 構造体 ( x および y メンバーを持つ) があります。Point2D のインスタンスを 2 つの別個の TextBox にバインドしたいと考えています。どうやってやるの?

4

1 に答える 1

3

なぜ構造体を使用するのですか?クラスを書く

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));
        }
    }    
}

DataContext のプロパティ

public Point2D MyPoint2D { get; set; }

そして XAML のバインディング

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

それが役に立てば幸い!

于 2013-10-22T12:52:14.060 に答える