具有绑定属性的奇怪行为和 ListView 中的直接可见性更改
Weird behavior with bound properies and direct visibility change in ListView
我有一个评论列表(带有数据模板)。每个评论的某些部分被隐藏(回复评论框)。我做了一个显示隐藏回复部分的回复功能,用户写了一些消息(在 TextBox 中)然后点击发送按钮,APP 应该在发送后隐藏这个块。当我成功时,我陷入了一种奇怪的行为。当我通过可视树管理评论的这个隐藏部分的可见性时,即直接在代码隐藏中更改它(在发送消息并将其添加到 Observablecollection 之后):
hiddenPart.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
它正常工作(消息被添加到列表中并且我看到了),但是如果我将隐藏部分的可见性绑定到 VeiwModel 中的 属性 并通过 属性 更改它,ListView(带有这些注释)向上滚动到某个偏移量(在隐藏回复部分之后)。有时甚至达到顶峰。 ps。 ListView 的这个选项无效:
<ItemsStackPanel ItemsUpdatingScrollMode="KeepItemsInView"/>
我不知道为什么会这样。
这个奇怪的问题 (99%) 与 Windows Phone 8.1 Update 1 中的导航错误有关(当您应该通过 Dispatcher
在页面之间导航以避免崩溃时) .