【发布时间】:2011-03-03 22:32:42
【问题描述】:
我有一个带有主窗口和不同页面的 WPF 应用程序。在其中一页 (OverzichtPage) 上,我有一个绑定到 DataController (Data) 的文本框。 (这是页面代码隐藏上的一个依赖属性)(可能值得一提:DataController 是一个单例,因此患者应该保持不变并且不会消失..)
public static DependencyProperty data = DependencyProperty.Register("Data", typeof(DataController), typeof(OverzichtPage));
public DataController Data
{
get { return (DataController)GetValue(data); }
set { SetValue(data, value); }
}
<TextBox Name="naamPatientTxtBox" Text="{Binding Path=Data.Patient.naam, Mode=TwoWay}" DataContext="{Binding ElementName=OP}" />
乍一看,这个绑定似乎有效。当我通过单击按钮导航到另一个页面时
<Button Content="Meer info/ Wijzigen" Click="MeerInfoWijzigenBtn_Click" />
private void MeerInfoWijzigenBtn_Click(object sender, RoutedEventArgs e)
{
Uri pageFunctionUri = new Uri("View/ZorgTrajectPage1.xaml", UriKind.Relative);
NavigationService.Navigate(pageFunctionUri);
}
然后导航回来,绑定突然停止工作。我在导航回来后发现了 naamPatientTxtBox.GetBindingExpression(TextBox.TextProperty).ParentBinding;是空的。有谁知道为什么这个绑定在导航后突然消失了?我真的不明白这怎么可能。
【问题讨论】: