2011-02-04 8 views
3

に、私は2テキストボックスにWPFのフォームを持っている:WPFのバインディング:オブジェクトをオブジェクト

<TextBox Name="txtName" Text="{Binding Contact.Name}"/> 
<TextBox Name="txtAddressNumber" Text="{Binding Contact.Address.Number}"/> 

と私は2クラスあります

public class ContactEntity 
{ 
    public string Name {get;set;} 
    public AddressEntity Address {get;set;} 
} 

public class AddressEntity 
{ 
    public int Number {get;set} 
} 

Nameプロパティが罰金バインドします。しかし、Contactオブジェクト内のAddressオブジェクトのNumberプロパティはバインドされません。私は間違っているの?

答えて

3

クラスにINotifyPropertyChangedを実装していない可能性があり、バインド後に値を割り当てることがあります。 Snoop http://snoopwpf.codeplex.com/を試してみると、正確な問題を見つけることができます。

+0

私はContactEntityにINotifyPropertyChangedがありませんでした。私のViewModelにはありますが、Entityにはありません。どうもありがとう ! –

2

すべてがうまく見えますが、バインディングが発生したときにAddressプロパティがnullでないことを確認してください。デバッグ中にVisual Studioの出力ウィンドウをチェックして、バインディングエラーがないかどうかを確認することもできます。

1

バインディングをデバッグするためのリソースがいくつかあります。here私は非常に成功したコンバータメソッドを使用しました。

関連する問題