我有这个在我的XAML文件:VB.NET结合WPF
<Button Click="Button_Click"
FontSize="100"
Content="{Binding Path=ButtonText,
UpdateSourceTrigger=PropertyChanged,
Mode=TwoWay}"
Margin="0,185,0.133,0.4"/>
这是我的.vb文件:
Imports System.ComponentModel
Class MainWindow
#Region "INotifyPropertyChanged Interface"
Implements INotifyPropertyChanged
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Protected Sub NotifyPropertyChanged(ByVal propertyName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
End Sub
#End Region
#Region "Properties"
Public Property ButtonText As String
Get
Return propText
End Get
Set(value As String)
propText = value
NotifyPropertyChanged("ButtonText")
End Set
End Property
#End Region
Private propText As String
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
'If propText Is "Test" Then
propText = "Suc6"
'ElseIf propText Is "Suc6" Then
'propText = "Test"
'End If
End Sub
End Class
如果我按下按钮,他的内容应显示“Suc6 “,但这是失败的。我做错了什么?我一直在阅读http://www.codeproject.com/Articles/26210/Moving-Toward-WPF-Data-Binding-One-Step-at-a-Time和http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1,但无法弄清楚我做错了什么。
你在设置DataContext吗?发布XAML代码。 –
这是整个Xaml代码:http://pastebin.com/hBgQabC6可能有很多代码可以做得更好。 – Krowi
您不需要按钮上的UpdateSourceTrigger = PropertyChanged,Mode = TwoWay。按钮内容不可编辑。 – Paparazzi