1
花了一天的时间试图找到我的问题的答案,我终于会问这个问题。 :)新手WPF绑定问题
通过阅读MSDN手册页我发现我终于可以删除那些漫游表单填充过程,并将每个字段(TextBox,CheckBox等)连接到我选择的任何属性。
我有一个名为ArticleItem的类来处理这种情况下的所有数据。
VB代码:
Public ArtItem as New ArticleItem
Private Sub LookUpArt()
If txtArtNo.Text.Length > 0 then
ArtItem.Load(txtArtNo.Text)
End If
End Sub
XAML:
<Page DataContext="{Binding RelativeSource={RelativeSource Self}}">
<!-- ... -->
<TextBox x:Name="txtDescr" Text="{Binding ArtItem, Path=Descr}" />
现在我没有问题填充列表框,但我没有得到我的文本框任何反应。
我错过了什么?
@Jonas:我发现了另一个问题。 –
好吧,我给了它另一个镜头。 我的课程现在实现INotifyPropertyChanged接口,ArtiItem已经成为一个私人实例('Private _ArtItem as New ArticleItem'),并创建了一个名为'ArtItem'的公共属性来返回值。 Descr属性也会在更改时引发'PropertyChanged'事件。 XAML也更新为'Text =“{Binding ArtItem.Descr}”'但文本框仍为空... – Jonas
因此,这两个类都实现了接口,并且通过“ArtItem.Descr”路径绑定的两个属性都是公共的,提高二传手的相关事件?如果是这样,这应该工作,因为'ArtItem'是您的页面上的一个属性,它已在DataContext中设置,并且DataContext被继承到TextBox。可能还有其他我现在无法想到的要求。尝试[调试绑定](http://blogs.msdn.com/b/wpfsldesigner/archive/2010/06/30/debugging-data-bindings-in-a-wpf-or-silverlight-application.aspx)如果您失败,请发布完整的代码。 –