无法添加第二个 EventTriggerBehavior 来控制 - UWP
Trouble adding second EventTriggerBehavior to control - UWP
在用户控件中我有这个:
<ToggleButton x:Name="toggleButton" Style="{StaticResource PaneToggleButton}"
Content="{Binding MyChromaticNotes.Root.Note}">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="Checked">
<Core:InvokeCommandAction
Command="{Binding AddSelectedCommand}" />
</Core:EventTriggerBehavior>
<Core:EventTriggerBehavior EventName="UnChecked">
<Core:InvokeCommandAction
Command="{Binding RemoveSelectedCommand}"/>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</ToggleButton>
这两个命令绑定到我的视图模型的 'DelegateCommand' 类型的静态属性,它实现了 ICommand。
在视图模型构造函数中,我有这个:
#region Add Selected
AddSelectedCommand = new DelegateCommand(
() => { SelectedTones.Add(MyChromaticNotes.Root.Note); },
() => { return true; }
);
#endregion
#region Remove Selected
RemoveSelectedCommand = new DelegateCommand(
() => { SelectedTones.Remove(MyChromaticNotes.Root.Note); },
() => { return SelectedTones.Contains(MyChromaticNotes.Root.Note); }
);
#endregion
如果我尝试 运行 它,我会在输出 Window 上得到 "Cannot add instance of 'EventTriggerBehavior' to collection of type BehaviorCollection",但是如果我从 XAML 中删除第二个 'EventTriggerBehavior' 并且来自视图模型的相应 RemoveSelectedCommand DelegateCommand It 运行s 并且我可以添加到 SelectedTones(ObservableCollection 类型)。
问题:为什么第二个 EventTriggerBehavior 不起作用,如何解决?
活动名称是 Unchecked
而不是 UnChecked
。
大小写很重要。
在用户控件中我有这个:
<ToggleButton x:Name="toggleButton" Style="{StaticResource PaneToggleButton}"
Content="{Binding MyChromaticNotes.Root.Note}">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="Checked">
<Core:InvokeCommandAction
Command="{Binding AddSelectedCommand}" />
</Core:EventTriggerBehavior>
<Core:EventTriggerBehavior EventName="UnChecked">
<Core:InvokeCommandAction
Command="{Binding RemoveSelectedCommand}"/>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</ToggleButton>
这两个命令绑定到我的视图模型的 'DelegateCommand' 类型的静态属性,它实现了 ICommand。 在视图模型构造函数中,我有这个:
#region Add Selected
AddSelectedCommand = new DelegateCommand(
() => { SelectedTones.Add(MyChromaticNotes.Root.Note); },
() => { return true; }
);
#endregion
#region Remove Selected
RemoveSelectedCommand = new DelegateCommand(
() => { SelectedTones.Remove(MyChromaticNotes.Root.Note); },
() => { return SelectedTones.Contains(MyChromaticNotes.Root.Note); }
);
#endregion
如果我尝试 运行 它,我会在输出 Window 上得到 "Cannot add instance of 'EventTriggerBehavior' to collection of type BehaviorCollection",但是如果我从 XAML 中删除第二个 'EventTriggerBehavior' 并且来自视图模型的相应 RemoveSelectedCommand DelegateCommand It 运行s 并且我可以添加到 SelectedTones(ObservableCollection 类型)。
问题:为什么第二个 EventTriggerBehavior 不起作用,如何解决?
活动名称是 Unchecked
而不是 UnChecked
。
大小写很重要。