我正在关注WPF数据绑定的教程。我想绑定到一个.NET对象的属性到一个XAML控件,但该控件不显示预期的数据。这是我所相信的是代码的有关章节:WPF绑定与.NET对象不通信数据
在程序代码:(注:去掉的ObservableCollection在图片集锦原帖后)
Namespace PhotoGallery
Partial Public Class MainWindow
Inherits Window
Private photos As New Photos
...
End Class
Namespace PhotoGallery
Public Class Photos
Inherits Collection(Of Photo)
...
End Class
在XAML(解决方案/项目名称为CH13-图片集锦):
<Window x:Class="PhotoGallery.MainWindow"
...
xmlns:local="clr-namespace:Ch13_PhotoGallery.PhotoGallery"
...>
<Window.Resources>
<local:Photos x:Key="Photos"/>
</Window.Resources>
这是不显示的数据的控制,这是照片集合的大小:
<Label x:Name="numItemsLabel" Background="AliceBlue" FontSize="8" Content="{Binding Source={StaticResource Photos}, Path=Count}"/>
当我输入< Label>时,Intellisense为Path属性弹出'Count',所以我认为这告诉我我已经正确定义了一切。
如果我此行的程序代码添加到后面的刷新()方法:
numItemsLabel.Content = photos.Count
然后,计数被正确显示。
但我没有得到在XAML绑定显示Photos.Count。
是'photos'相同的对象'<本地:照片x:键=“照片”/>'? – ASh
是的,我认为我的所有大写都一致,但是您的问题使我注意到我在MainWindow类中声明了'照片'未使用大写。所以我将它改为“照片”,但这似乎没有什么区别。 – Alan
“是的,它是” - 不,它不是。这是一个完全不同的对象。你在做什么来填充作为资源创建的'Photos'实例?您是否知道您正在创建两个完全不同的'Photos'实例,或者您认为框架中的某些内容会以某种方式关联这两个? –