我尝试将EventTriggerBehavior与ScrollViewer的ViewChanged事件一起使用:
<ScrollViewer x:Name="scrollViewer">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="ViewChanged">
<core:InvokeCommandAction Command="{Binding AddNextCommand}"
CommandParameter="{Binding ElementName=scrollViewer}"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</ScrollViewer>
但是有例外:
Windows.UI.Xaml.Markup.XamlParseException:'找不到与此错误代码关联的文本。
无法将类型为“ Microsoft.Xaml.Interactions.Core.EventTriggerBehavior”的实例添加到类型为“ Microsoft.Xaml.Interactivity.BehaviorCollection”的集合中。
如何解决?
当ScrollViewer滚动到底部时,我想自动添加新元素以进行查看,还有其他方法吗?谢谢!
答案 0 :(得分:0)
无法将类型为“ Microsoft.Xaml.Interactions.Core.EventTriggerBehavior”的实例添加到类型为“ Microsoft.Xaml.Interactivity.BehaviorCollection”的集合中。
首先,此错误表明该元素没有名为ViewChanged
的事件。这是由于您没有为EventTriggerBehavior
分配SourceObject
行为是附加到不是scrollViewer
的错误元素而引起的。您应该像这样设置SourceObject
:
<core:EventTriggerBehavior EventName="PointerPressed" SourceObject="{Binding ElementName=scrollViewer}">
但是即使如此,由于ViewChanged
可能不支持WindowsRuntimeMarshal.AddEventHandler
,您可能还会遇到另一个错误。请尝试直接调用ScrollViewer.ViewChanged
事件。
我想在ScrollViewer滚动到底部时自动添加新元素以进行查看,还有其他方法吗?
像ISupportIncrementalLoading
可能会有所帮助。请尝试。