无法将EventTriggerBehavior与ScrollViewer的ViewChanged事件一起使用

时间:2018-06-24 14:31:46

标签: mvvm uwp uwp-xaml

我尝试将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滚动到底部时,我想自动添加新元素以进行查看,还有其他方法吗?谢谢!

1 个答案:

答案 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可能会有所帮助。请尝试。