0

VoucherEntity というクラスがあり、「Customer」という名前のプロパティ、クラス CustomerEntity のオブジェクトが含まれているため、次のコードがあります。

<TextBox Height="23" IsReadOnly="False" HorizontalAlignment="Stretch" Margin="124,48,174,0" Name="txt_customer" VerticalAlignment="Top" Text="{Binding Path=Customer.Name}" />

.csファイルには、次のコードがあります

_voucher = new VoucherEntity();
this.DataContext = _voucher;

つまり、最初は Customer プロパティが null で、ボタンをクリックした後、_voucher の Customer プロパティに CustomerEntity オブジェクトを与えます。TextBox がすぐに表示できることを願っていますが、失敗しました。どうすればよいですか?

4

1 に答える 1

0

ビューの変更を除外したい場合は、変更についてビューに通知する必要があります。

したがって、クラスにINotifyPropertyChangedインターフェイスを実装し、Customer prop を設定した後にイベントを発生させるだけです。VoucherEntityPropertyChanged

public class VoucherEntity: INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    protected void FirePropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }

    private CustomerEntity _customer;
    public CustomerEntity Customer
    {
        get {return _customer;}
        set
        {
            if (_customer != value)
            {
                _customer= value;
                FirePropertyChanged("Customer");
            }
        }
    }
}
于 2012-10-15T08:07:05.063 に答える