【发布时间】:2012-01-11 13:57:24
【问题描述】:
我有一个自定义控件,它有两个依赖属性。它们是这样设置的:
Public Shared ReadOnly ValueBindingProperty As DependencyProperty = _
DependencyProperty.Register("ValueBinding", GetType(String), GetType(HomePageControl), New PropertyMetadata(String.Empty))
Public Property ValueBinding As String
Get
Return DirectCast(Me.GetValue(HomePageControl.ValueBindingProperty), String)
End Get
Set(value As String)
Me.SetValue(HomePageControl.ValueBindingProperty, value)
End Set
End Property
我在另一个 DP 的 PropertyChangedCallback 中评估它们,如下所示:
Dim hpc As HomePageControl = DirectCast(d, HomePageControl)
Dim valueBindingString as String = hpc.ValueBinding
然后我在需要的地方使用它。
该值在第一次加载页面和加载控件时存在。一旦我离开页面导航 - 使用 Silverlight 导航将新的“视图”加载到框架中 - 值就会消失,当我返回到控件所在的页面/视图时,该值等于默认值而不是它的值在 xaml 中设置为值怎么了?
我还有其他 DP 是保持设置的字符串。据我所知,这两个设置与其他设置相同。为什么这些会失去价值,而其他的却没有?
【问题讨论】:
标签: silverlight binding dependency-properties