私はアプリケーションを作成しています。ユーザーが新しいウィンドウ内の特定のアイテムをクリックし、オブジェクトが入力パラメータとして渡されたとき。窓のCSファイル内新しいウィンドウ内のテキストボックスのセットにオブジェクトプロパティをバインドする方法
private void GridItem_MouseUp(object sender, MouseButtonEventArgs e)
{
Grid item = (Grid)sender;
int itemId = Convert.ToInt32(item.Tag) - 1;
Bill_Overview BO = new Bill_Overview(Bills[itemId]);
BO.ShowDialog();
BO.Owner = this;
}
あり、このです:
public DBConnection.Bill Bill { get; set; }
public Bill_Overview(DBConnection.Bill bill)
{
InitializeComponent();
Bill = bill;
}
はとBill_OverviewウィンドウのWPFの内側に私は財産ビルの各プロパティをバインドしたいのですが、私はそれを試してみたものは何でも動作しません。私はこれを私の現在の設定として持っていますが、これはうまくいきません。
<Grid DataContext="{Binding Bill}">
<TextBox Margin="0,28,0,185" Text="{Binding Path=Payer, Mode=TwoWay}" />
...
</Grid>
これを修正する方法を知っている人はいますか?私はかなりのために解決策を探してみましたが、何も動作していないようです。
乾杯!
プロパティが変更されたときにプロパティがバインディングエンジンに通知されないため、ビューで更新が必要であることがわかりません。私はあなたが素早い修正の代わりに根本的な原因を理解するように、あなたは主題を読むことをお勧めします。 –
私はこれが何かINotifyPropertyChangedについて覚えているのでしょうか?しかし、私はそれを(まだ)実装する方法を知らない。しかし、Eyalによって与えられた解決策は、トリックを行い、ウィンドウの目的に役立ちます:) – DethoRhyne
私のポイントは正確です。理由を完全に理解していない間に、この特定の問題を修正します。データバインディングとWPF(オンラインチュートリアルがたくさんあります)には、実践的なアプローチを試みるべきです。 –