0
如果我結合一個TextBox到一個對象的(商品是對象)屬性,如:Silverlight 5 INotify OnPropertyChanged沒有觸發?
文本=「{綁定路徑= Merchandise.Quantity,模式=雙向}
<TextBox x:Name="QuantityTextBox" Grid.Column="1" Grid.Row="5" Width="70" Text="{Binding Path=Merchandise.Quantity, Mode=TwoWay, TargetNullValue='0', FallbackValue='0', ValidatesOnExceptions=True, ValidatesOnDataErrors=True, NotifyOnValidationError=True}"/>
的DataContext設置到我的視圖模型包含(其它性質)型商品的申報財產。
Implements INotifyPropertyChanged, IDataErrorInfo
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub OnPropertyChanged(ByVal e As PropertyChangedEventArgs)
If PropertyChangedEvent IsNot Nothing Then
RaiseEvent PropertyChanged(Me, e)
Select Case e.PropertyName
Case "Merchandise"
DoSomething()
Case Else
End Select
End If
End Sub
Private _Merchandise As DC.SL.Services.WebServiceMerchandise.Merchandise
Public Property Merchandise() As DC.SL.Services.WebServiceMerchandise.Merchandise
Get
Return _Merchandise
End Get
Set(ByVal value As DC.SL.Services.WebServiceMerchandise.Merchandise)
_Merchandise = value
OnPropertyChanged(New PropertyChangedEventArgs("Merchandise"))
End Set
End Property
當我輸入的變化在TextBox PropertyChanged事件不會被觸發。我可以解決這個問題的唯一方法是通過創建複製適當的在我的ViewModel中... ... Quantity,然後點擊Ok按鈕後,我將ViewModel屬性分配給我的Merchandise對象。但是這絕對不是有效的,似乎擊敗了能夠使用Path = SomeObject.Property綁定的目的。
有關如何解決此問題的任何提示?
謝謝,羅布。
請在ViewModel中顯示Merchandise屬性並使用代碼格式:) – LueTm
使用代碼塊更新原始帖子。我希望有一個簡單的方法來處理與PropertyChanged通知綁定路徑= Object.Property。正確的輸入文本存儲在Merchandise.Quantity中,但PropertyChanged事件不會被觸發。 –
休...你確定你有正確的datacontext?如果你在二傳手中製造一個斷點? – LueTm