获取 "Cannot add instance of type EventTriggerBehavior to collection BehaviorCollection" 以制作可点击的 TextBlock
Getting "Cannot add instance of type EventTriggerBehavior to collection BehaviorCollection" to make clickable TextBlock
我的应用程序有一系列硬编码为导航菜单的按钮,但我想将其升级为更多数据驱动的内容。
<Button Content="MyPage">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<core:NavigateToPageAction TargetPage="Namespace.MyPage"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</Button>
但是,当我尝试将此行为放在不同的 XAML 元素(特别是作为数据模板一部分的 TextBlock)时,出现了以下错误。
An exception of type 'Windows.UI.Xaml.Markup.XamlParseException'
occurred in NavMockUp.Windows.exe but was not handled in user code
WinRT information: Cannot add instance of type
'Microsoft.Xaml.Interactions.Core.EventTriggerBehavior' to a
collection of type 'Microsoft.Xaml.Interactivity.BehaviorCollection'
<TextBlock Text="Click for Page">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<core:NavigateToPageAction TargetPage="Namespace.MyPage"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</TextBlock>
确保您了解 EventTriggerBehaviors 的工作原理
该错误可能有点无用,但这是由于 TextBlock 元素没有要附加到名为 "Click" 的事件这一事实造成的。杰里·尼克松 good article on behaviors
要解决此问题,只需将 Click 事件替换为 Tapped 事件,因为 TextBlock 确实 具有其中之一。
<TextBlock Text="Click for Page">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:NavigateToPageAction TargetPage="Namespace.MyPage"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</TextBlock>
我的应用程序有一系列硬编码为导航菜单的按钮,但我想将其升级为更多数据驱动的内容。
<Button Content="MyPage">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<core:NavigateToPageAction TargetPage="Namespace.MyPage"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</Button>
但是,当我尝试将此行为放在不同的 XAML 元素(特别是作为数据模板一部分的 TextBlock)时,出现了以下错误。
An exception of type 'Windows.UI.Xaml.Markup.XamlParseException' occurred in NavMockUp.Windows.exe but was not handled in user code
WinRT information: Cannot add instance of type 'Microsoft.Xaml.Interactions.Core.EventTriggerBehavior' to a collection of type 'Microsoft.Xaml.Interactivity.BehaviorCollection'
<TextBlock Text="Click for Page">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<core:NavigateToPageAction TargetPage="Namespace.MyPage"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</TextBlock>
确保您了解 EventTriggerBehaviors 的工作原理
该错误可能有点无用,但这是由于 TextBlock 元素没有要附加到名为 "Click" 的事件这一事实造成的。杰里·尼克松 good article on behaviors
要解决此问题,只需将 Click 事件替换为 Tapped 事件,因为 TextBlock 确实 具有其中之一。
<TextBlock Text="Click for Page">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:NavigateToPageAction TargetPage="Namespace.MyPage"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</TextBlock>