绑定ObservableCollection.Count属性的TextBlock文本

7
我有一个元素数量为0的ObservableCollection(但在窗口创建时初始化为新对象)。我想将Count属性绑定到TextBox上。不幸的是,每当我尝试打开相关窗口时,应用程序就会崩溃。
现在,由于我在同一页上拥有一个ListView,它成功地显示了相关集合中的元素,我认为我可以从那里提取行数,但这也导致了崩溃。
<TextBox Text="{Binding ElementName=lvTabela, Path=Items.Count}"
         Grid.Row="4" Grid.Column="1" Margin="0,3,60,3"
         DockPanel.Dock="Top" IsReadOnly="True" />

请注意,在.xaml文件中,我可以看到TextBox的内容为0。
这是为什么呢?

2
"这会导致我的应用程序崩溃" "有任何想法为什么会发生这种情况吗?" 你的调试器已经知道了,不要期望这里的任何人再次做你的调试器工作。发布结果,也许有人会帮助你解决问题。 - nvoigt
2个回答

8

我的错误,我忘记在绑定中添加Mode=OneWay。问题在于,即使TextBox不可编辑,系统仍然将其识别为更改ListView.ItemCount属性的一种潜在方式,但此属性是只读的。


不要忘记,回答自己的问题是可以的。将其标记为已解决,以便其他开发人员知道这是一个已解决的问题。http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/ - Walt Ritscher

1
我的建议:在列表初始化时,在您的代码中将集合初始化为空对象。这可能会对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接