gpt4 book ai didi

windows-phone-7 - MVVM EventToCommand 参数为 NULL

转载 作者:行者123 更新时间:2023-12-03 10:15:07 24 4
gpt4 key购买 nike

我在 Windows Phone 7.1 中使用 MVVM Light Toolkit

ViewModel 的一部分:

public RelayCommand<object> ChangeVATCommand
{
get
{
return _changeVATCommand
?? (_changeVATCommand = new RelayCommand<object>(
(vat) =>
{

}));
}
}

Xaml 的一部分:
    <toolkit:ListPicker  ItemsSource="{Binding VATs}" x:Name="VATs" SelectedIndex="0"  DisplayMemberPath="Name">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding ChangeVATCommand, Mode=OneWay}"
CommandParameter="{Binding Path=SelectedItem, ElementName=VATs}"
/>
</i:EventTrigger>
</i:Interaction.Triggers>
</toolkit:ListPicker>

当命令运行时,传递给 lambda 的增值税为空。如果我在 xaml CommandParameter 中将“{Binding ElementName=VATs}”设置为“{Binding ElementName=VATs}”,则 lambda 中的增值税具有具有正确属性 SelectedItem 对象(非空)的 ListPicker。

这是一个错误还是我做错了什么?

更新

概括:
  • CommandParameter="{Binding Path=SelectedItem, ElementName=VATs}"- 我有 NULL
  • CommandParameter="{Binding Path=SelectedIndex, ElementName=VATs}"- 工作正常!我有所选大桶的索引
  • CommandParameter="{Binding ,ElementName=VATs}"- 工作正常!我有 ListPicker 和正确的选定项
  • 最佳答案

    我宁愿建议将 ListPicker 的 SelectedItem 绑定(bind)到您的 VM 上的属性的双向绑定(bind)。然后从命令中,您可以轻松访问此属性。

    如果您选择此解决方案,您可能甚至不需要命令,您可以直接从 VM 中的 SelectedItem 属性中触发您的计算。

    干杯
    洛朗

    关于windows-phone-7 - MVVM EventToCommand 参数为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15613688/

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