gpt4 book ai didi

c# - Intellisense 不适用于 MVVM light 工具包

转载 作者:行者123 更新时间:2023-11-30 21:11:12 24 4
gpt4 key购买 nike

我昨天开始使用 MVVM 模式。但为了处理事件,我需要安装 MVVM light 工具包。我这样做了,并将库添加到引用中。在 UserControl,我宣布了该库,但是当我想使用工具包时,无论我写它不显示任何建议,不接受我想写的内容并显示此错误“无法将类型为‘EventToCommand’的值添加到类型为‘TriggerActionCollection’的集合或字典中”

<EventTrigger RoutedEvent="TextChanged">
<mvvm:EventToCommand Command="{Binding Test}"/>
</EventTrigger>

`

最佳答案

你必须像这样使用它..

要添加的命名空间:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<mvvm:EventToCommand Command="{Binding Path=UserControlLoadedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>

不要忘记将对 System.Windows.Interactivity 的引用添加到您的项目中

您需要在

中使用 PassEventArgsToCommand="True"
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<mvvm:EventToCommand Command="{Binding Path=UserControlLoadedCommand}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>

然后你可以在 ViewModel 中得到它......你可能需要使用 Generic RelayCommand as

RelayCommand<KeyEventArgs> myCommand= new RelayCommand<KeyEventArgs>(Execute,CanExecute)

关于c# - Intellisense 不适用于 MVVM light 工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8131818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com