我正在创建应用程序,并且当用户在新窗口中单击某个项目时,会创建一个对象并将其作为输入参数传递。如何在新窗口中将对象属性绑定到一组文本框
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;
}
里面的窗口CS文件有这样的:
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的实践方法(网上有很多教程)。 –