我已經搜索了一個多星期來找到答案,但我不能。WPF綁定源
因爲一些reasone我必須執行Windows.Data.Binding
我的自我。所以我創建了一個類,並把私人Binding
對象,像這樣:
Public Class Binding
Inherits MarkupExtension
Private _Binding As New Windows.Data.Binding
#Region "Properties"
Public Property ElementName() As String
Get
Return _Binding.ElementName
End Get
Set(value As String)
_Binding.ElementName = value
End Set
End Property
Public Property Mode() As BindingMode
Get
Return _Binding.Mode
End Get
Set(value As BindingMode)
_Binding.Mode = value
End Set
End Property
Public Property Source() As Object
Get
Return _Binding.Source
End Get
Set(value As Object)
_Binding.Source = value
End Set
End Property
#End Region
'*Other Properties of Windows.Data.Binding go inside region*
Public Overrides Function ProvideValue(serviceProvider As IServiceProvider) As Object
If serviceProvider Is Nothing Then
Return "Design Time"
Else
Dim k = _Binding.ProvideValue(serviceProvider)
Return k
End If
End Function
End Class
它的工作。 我需要更改ProvideValue
中的一些實現,爲此,我需要找到綁定的來源。比如我有一個像這樣的XAML的對象:
<TextBlock Text={local:Binding Path=UserID} />
好吧,我TextBlock
必然的什麼...UserID
?
問題是綁定的來源是什麼?和我如何訪問ProvideValue
方法?
感謝所有
更多信息我想知道爲什麼你需要實現自己的綁定,您可以使用轉換器,格式串等 – pushpraj
的這是一個想法。 我正在編寫一個公共DLL,它將在這家公司的所有項目上共享,假設有幾個項目和幾個用戶,每個項目中UserAccess都很重要。 我想限制用戶訪問表的特定列,因此,我不希望其他開發人員趕在該策略,他們只是綁定到適當的表和適當的列,但** Myy **'綁定'決定是否該用戶可以閱讀這些值! 我不知道我是否可以說清楚:/ –